Merge "[opnfvdocs] Cut moselle branch"
[releng.git] / jjb / releng / opnfv-utils.yaml
1 ---
2 - project:
3
4     name: opnfv-utils
5
6     jobs:
7       - 'prune-docker-images'
8       - 'check-status-of-slaves'
9       - 'ansible-build-server'
10       - 'generate-artifacts-index-pages'
11
12 ########################
13 # job templates
14 ########################
15 - job-template:
16     name: 'prune-docker-images'
17
18     disabled: false
19
20     concurrent: true
21
22     parameters:
23       - node:
24           name: SLAVE_NAME
25           description: Slaves to prune docker images
26           default-slaves:
27             - lf-build6
28           allowed-multiselect: true
29           ignore-offline-nodes: true
30
31     builders:
32       - description-setter:
33           description: "Built on $NODE_NAME"
34       # yamllint disable rule:line-length
35       - shell: |
36           #!/bin/bash
37           sudo systemctl restart docker
38           (docker ps -q; docker ps -aq) | sort | uniq -u | xargs --no-run-if-empty docker rm
39           docker images -f dangling=true -q | xargs --no-run-if-empty docker rmi
40
41
42     # yamllint enable rule:line-length
43     triggers:
44       - timed: '@midnight'
45
46 - job-template:
47     name: 'check-status-of-slaves'
48
49     disabled: false
50     concurrent: true
51
52     parameters:
53       - node:
54           name: SLAVE_NAME
55           description: 'script lives on master node'
56           default-slaves:
57             - lf-build6
58           allowed-multiselect: false
59           ignore-offline-nodes: true
60       - project-parameter:
61           project: releng
62           branch: master
63
64     scm:
65       - git-scm
66
67     triggers:
68       - timed: '@midnight'
69
70     builders:
71       - shell: |
72           cd $WORKSPACE/utils/
73           bash slave-monitor-0.1.sh
74
75 - job-template:
76     name: 'ansible-build-server'
77
78     project-type: freestyle
79
80     disabled: true
81     concurrent: true
82
83     parameters:
84       - node:
85           name: SLAVE_NAME
86           description: Build Servers
87           default-slaves:
88             - lf-build6
89           allowed-multiselect: true
90           ignore-offline-nodes: true
91       - project-parameter:
92           project: releng
93           branch: master
94
95     scm:
96       - git-scm
97
98     triggers:
99       - timed: '@midnight'
100
101     builders:
102       - description-setter:
103           description: '$NODE_NAME'
104       - install-ansible
105       - run-ansible-build-server-playbook
106
107
108 - builder:
109     name: install-ansible
110     builders:
111       - shell: |
112           # Install ansible here
113           if [ -f /etc/centos-release ] \
114           || [ -f /etc/redhat-release ] \
115           || [ -f /etc/system-release ]; then
116           sudo yum -y install ansible
117           fi
118           if [ -f /etc/debian_version ] \
119           || grep -qi ubuntu /etc/lsb-release \
120           || grep -qi ubuntu /etc/os-release; then
121           sudo apt-get -y install ansible
122           fi
123
124
125 - builder:
126     name: run-ansible-build-server-playbook
127     builders:
128       - shell: |
129           # run playbook
130           sudo ansible-playbook -i \
131           $WORKSPACE/utils/build-server-ansible/inventory.ini \
132           $WORKSPACE/utils/build-server-ansible/main.yml
133
134
135 - job-template:
136     name: 'generate-artifacts-index-pages'
137
138     project-type: freestyle
139
140     disabled: false
141
142     concurrent: false
143
144     parameters:
145       - node:
146           name: SLAVE_NAME
147           description: Build Servers
148           default-slaves:
149             - lf-build6
150       - project-parameter:
151           project: releng
152           branch: master
153
154     scm:
155       - git-scm
156
157     triggers:
158       - timed: '@hourly'
159
160     builders:
161       - generate-artifact-html
162
163
164 - builder:
165     name: generate-artifact-html
166     builders:
167       - shell: |
168           cd $WORKSPACE/utils/
169           ./artifacts.opnfv.org.sh