X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng%2Fopnfv-utils.yml;h=19fb4b5af7c80062d87ec33eaf4f8097913ac6f9;hb=9fab1b51ab2e1ead7df8d51aaa28c2b6cc28e704;hp=721b5dede4770354123701af98870609e97c509d;hpb=20b31307c730a6561107dba6299d3a47dd4c3090;p=releng.git diff --git a/jjb/releng/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml index 721b5dede..19fb4b5af 100644 --- a/jjb/releng/opnfv-utils.yml +++ b/jjb/releng/opnfv-utils.yml @@ -1,11 +1,14 @@ +--- - project: name: opnfv-utils jobs: - - 'prune-docker-images' - - 'archive-repositories' - - 'check-status-of-slaves' + - 'prune-docker-images' + - 'archive-repositories' + - 'check-status-of-slaves' + - 'ansible-build-server' + - 'generate-artifacts-index-pages' ######################## # job templates @@ -18,28 +21,33 @@ concurrent: true parameters: - - node: - name: SLAVE_NAME - description: Slaves to prune docker images - default-slaves: - - arm-build2 - - ericsson-build4 - - ericsson-build5 - - lf-build2 - allowed-multiselect: true - ignore-offline-nodes: true + - 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" - - shell: | - #!/bin/bash + - 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 - (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' + - timed: '@midnight' - job-template: name: 'archive-repositories' @@ -49,41 +57,154 @@ concurrent: true parameters: - - node: - name: SLAVE_NAME - description: Where to create the archive - default-slaves: - - master - allowed-multiselect: false - ignore-offline-nodes: true + - node: + name: SLAVE_NAME + description: Where to create the archive + default-slaves: + - master + allowed-multiselect: false + ignore-offline-nodes: true triggers: - - timed: '@monthly' + - timed: '@monthly' builders: - - shell: - !include-raw-escape: opnfv-repo-archiver.sh + - 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: We don't want workspace wiped. so I just threw the script on the master - default-slaves: - - master - allowed-multiselect: false - ignore-offline-nodes: true + - 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: '@midnight' + - timed: '@hourly' + + builders: + - generate-artifact-html + +- builder: + name: generate-artifact-html builders: - - shell: | - cd /opt/jenkins-ci/slavemonitor - bash slave-monitor-0.1.sh | sort + - shell: | + cd $WORKSPACE/utils/ + ./artifacts.opnfv.org.sh