summaryrefslogtreecommitdiffstats
path: root/jjb/releng/opnfv-utils.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/releng/opnfv-utils.yaml')
-rw-r--r--jjb/releng/opnfv-utils.yaml210
1 files changed, 210 insertions, 0 deletions
diff --git a/jjb/releng/opnfv-utils.yaml b/jjb/releng/opnfv-utils.yaml
new file mode 100644
index 000000000..19fb4b5af
--- /dev/null
+++ b/jjb/releng/opnfv-utils.yaml
@@ -0,0 +1,210 @@
+---
+- project:
+
+ name: opnfv-utils
+
+ jobs:
+ - 'prune-docker-images'
+ - 'archive-repositories'
+ - 'check-status-of-slaves'
+ - 'ansible-build-server'
+ - 'generate-artifacts-index-pages'
+
+########################
+# job templates
+########################
+- job-template:
+ name: 'prune-docker-images'
+
+ disabled: false
+
+ concurrent: true
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: Slaves to prune docker images
+ default-slaves:
+ - arm-build3
+ - arm-build4
+ - arm-build5
+ - arm-build6
+ - ericsson-build3
+ - ericsson-build4
+ - lf-build2
+ allowed-multiselect: true
+ ignore-offline-nodes: true
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ # yamllint disable rule:line-length
+ - shell: |
+ #!/bin/bash
+ (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
+ docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
+
+
+ # yamllint enable rule:line-length
+ triggers:
+ - timed: '@midnight'
+
+- job-template:
+ name: 'archive-repositories'
+
+ disabled: false
+
+ concurrent: true
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: Where to create the archive
+ default-slaves:
+ - master
+ allowed-multiselect: false
+ ignore-offline-nodes: true
+
+ triggers:
+ - timed: '@monthly'
+
+ builders:
+ - shell:
+ !include-raw-escape: opnfv-repo-archiver.sh
+
+ publishers:
+ - email-ext:
+ content-type: 'text'
+ failure: false
+ always: true
+ body:
+ ${{FILE,path="archive-link.txt"}}
+ reply-to: >
+ helpdesk@opnfv.org
+ recipients: >
+ swinslow@linuxfoundation.org
+
+
+- job-template:
+ name: 'check-status-of-slaves'
+
+ disabled: false
+ concurrent: true
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'script lives on master node'
+ default-slaves:
+ - lf-build1
+ allowed-multiselect: false
+ ignore-offline-nodes: true
+ - project-parameter:
+ project: releng
+ branch: master
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '@midnight'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/utils/
+ bash slave-monitor-0.1.sh
+
+- job-template:
+ name: 'ansible-build-server'
+
+ project-type: freestyle
+
+ disabled: false
+ concurrent: true
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: Build Servers
+ default-slaves:
+ - lf-build1
+ - lf-build2
+ - ericsson-build4
+ allowed-multiselect: true
+ ignore-offline-nodes: true
+ - project-parameter:
+ project: releng
+ branch: master
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '@midnight'
+
+ builders:
+ - install-ansible
+ - run-ansible-build-server-playbook
+
+
+- builder:
+ name: install-ansible
+ builders:
+ - shell: |
+ # Install ansible here
+ if [ -f /etc/centos-release ] \
+ || [ -f /etc/redhat-release ] \
+ || [ -f /etc/system-release ]; then
+ sudo yum -y install ansible
+ fi
+ if [ -f /etc/debian_version ] \
+ || grep -qi ubuntu /etc/lsb-release \
+ || grep -qi ubuntu /etc/os-release; then
+ sudo apt-get -y install ansible
+ fi
+
+- builder:
+ name: run-ansible-build-server-playbook
+ builders:
+ - shell: |
+ # run playbook
+ sudo ansible-playbook -i \
+ $WORKSPACE/utils/build-server-ansible/inventory.ini \
+ $WORKSPACE/utils/build-server-ansible/main.yml
+
+
+- job-template:
+ name: 'generate-artifacts-index-pages'
+
+ project-type: freestyle
+
+ disabled: false
+
+ concurrent: false
+
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: Build Servers
+ default-slaves:
+ - lf-build2
+ - project-parameter:
+ project: releng
+ branch: master
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '@hourly'
+
+ builders:
+ - generate-artifact-html
+
+
+- builder:
+ name: generate-artifact-html
+ builders:
+ - shell: |
+ cd $WORKSPACE/utils/
+ ./artifacts.opnfv.org.sh