diff options
Diffstat (limited to 'jjb/functest/xtesting-ci-docker.yaml')
-rw-r--r-- | jjb/functest/xtesting-ci-docker.yaml | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/jjb/functest/xtesting-ci-docker.yaml b/jjb/functest/xtesting-ci-docker.yaml new file mode 100644 index 000000000..c439d1484 --- /dev/null +++ b/jjb/functest/xtesting-ci-docker.yaml @@ -0,0 +1,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: 'xtesting' + +- 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: 'xtesting' + +- 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.*$ |