summaryrefslogtreecommitdiffstats
path: root/jjb/functest/xtesting-ci-docker.yaml
blob: 0025e2786950a3968dbd04c7f28ddc348529f33e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
---
- builder:
    name: xtesting-ci-docker-builder
    builders:
      - shell: |
          cd {dir}
          sudo docker build --pull -t {image} .
          sudo docker push {image}
          sudo docker system prune --all -f

- builder:
    name: xtesting-ci-docker-multiarch-builder
    builders:
      - shell: |
          sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
          git clone https://github.com/estesp/manifest-tool
          (cd manifest-tool && git checkout v0.9.0 && \
            sudo -E make && sudo -E make install)
          (cd {dir} && \
            sudo docker build --pull -t {image}:amd64-{tag} . && \
            sudo docker push {image}:amd64-{tag})
          (cd {dir} && \
            git checkout Dockerfile
            sed -i -e "s|{from_amd64}|{to_arm64}|g" Dockerfile
            sudo docker build --pull -t {image}:arm64-{tag} . && \
            sudo docker push {image}:arm64-{tag})
          (cd {dir} && \
            git checkout Dockerfile
            sed -i -e "s|{from_amd64}|{to_arm}|g" Dockerfile
            sudo docker build --pull -t {image}:arm-{tag} . && \
            sudo docker push {image}:arm-{tag})
          sudo manifest-tool push from-args \
            --platforms linux/amd64,linux/arm,linux/arm64 \
            --template {image}:ARCH-{tag} \
            --target {image}:{tag}
          sudo docker system prune --all -f

- scm:
    name: xtesting-ci-docker-scm
    scm:
      - git:
          url: https://github.com/collivier/xtesting-docker.git
          git-config-name:
          git-config-email:

- trigger:
    name: xtesting-ci-docker-trigger
    triggers:
      - pollscm:
          cron: "H/30 * * * *"
      - timed: '@daily'

- parameter:
    name: xtesting-ci-docker-parameter
    parameters:
      - label:
          name: node
          default: 'opnfv-build'

- job-template:
    name: xtesting-ci-docker-{stream}
    scm:
      - xtesting-ci-docker-scm
    parameters:
      - xtesting-ci-docker-parameter
    triggers:
      - xtesting-ci-docker-trigger
    builders:
      - xtesting-ci-docker-builder:
          image: '{image}'
          dir: '{dir}'

- job-template:
    name: xtesting-ci-docker-multitarch-{stream}
    scm:
      - xtesting-ci-docker-scm
    parameters:
      - xtesting-ci-docker-parameter
    triggers:
      - xtesting-ci-docker-trigger
    builders:
      - xtesting-ci-docker-multiarch-builder:
          image: '{image}'
          dir: '{dir}'
          tag: '{tag}'
          from_amd64: '{from_amd64}'
          to_arm64: '{to_arm64}'
          to_arm: '{to_arm}'

- project:
    name: xtesting-ci-docker
    stream:
      - jenkins-lts-slim:
          dir: jenkins.debian
          image: opnfv/xtesting-jenkins:lts-slim
      - jenkins-lts-alpine:
          dir: jenkins
          image: opnfv/xtesting-jenkins:lts-alpine
      - s3www-v0.5.3:
          dir: s3www
          image: opnfv/xtesting-s3www:v0.5.3
    jobs:
      - xtesting-ci-docker-{stream}

- project:
    name: xtesting-ci-docker-multiarch
    stream:
      - jenkins-agent-debian:
          dir: jenkins-agent
          image: opnfv/xtesting-jenkins-agent
          tag: 4.9-bullseye
          from_amd64: debian:bullseye
          to_arm64: arm64v8/debian:bullseye
          to_arm: arm32v7/debian:bullseye
      - jenkins-agent-ubuntu:
          dir: jenkins-agent-ubuntu
          image: opnfv/xtesting-jenkins-agent
          tag: 4.9-jammy
          from_amd64: ubuntu:jammy
          to_arm64: arm64v8/ubuntu:jammy
          to_arm: arm32v7/ubuntu:jammy
      - jenkins-agent-auto:
          dir: jenkins-agent-auto
          image: opnfv/xtesting-jenkins-agent-auto
          tag: 4.9-bullseye
          from_amd64: opnfv/xtesting-jenkins-agent:4.9-bullseye
          to_arm64: opnfv/xtesting-jenkins-agent:arm64-4.9-bullseye
          to_arm: opnfv/xtesting-jenkins-agent:arm-4.9-bullseye
    jobs:
      - xtesting-ci-docker-multitarch-{stream}

- builder:
    name: xtesting-ci-docker-trivy-builder
    builders:
      - shell: |
          curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
          ./trivy image --exit-code 1 {image}

- trigger:
    name: xtesting-ci-docker-trivy-trigger
    triggers:
      - timed: '@daily'

- parameter:
    name: xtesting-ci-docker-trivy-parameter
    parameters:
      - label:
          name: node
          default: 'opnfv-build'

- job-template:
    name: 'xtesting-ci-docker-trivy-{stream}'
    triggers:
      - xtesting-ci-docker-trivy-trigger
    parameters:
      - xtesting-ci-docker-trivy-parameter
    builders:
      - xtesting-ci-docker-trivy-builder:
          image: '{image}'

- project:
    name: 'xtesting-ci-docker-trivy'
    stream:
      - jenkins-lts-slim:
          image: opnfv/xtesting-jenkins:lts-slim
      - jenkins-lts-alpine:
          image: opnfv/xtesting-jenkins:lts-alpine
      - s3www-v0.5.3:
          image: opnfv/xtesting-s3www:v0.5.3
      - xtesting-jenkins-agent-4.9-bullseye:
          image: opnfv/xtesting-jenkins-agent:4.9-bullseye
      - xtesting-jenkins-agent-4.9-jammy:
          image: opnfv/xtesting-jenkins-agent:4.9-jammy
      - xtesting-jenkins-agent-auto-4.9-bullseye:
          image: opnfv/xtesting-jenkins-agent-auto:4.9-bullseye
    jobs:
      - 'xtesting-ci-docker-trivy-{stream}'

- view:
    name: xtesting-ci-docker
    view-type: list
    columns:
      - status
      - weather
      - job
      - last-success
      - last-failure
      - last-duration
    regex: ^xtesting-ci-docker.*$