From 77b08065247c96e987fec6c3625aadb2d219fd27 Mon Sep 17 00:00:00 2001 From: Gareth Clay Date: Mon, 13 May 2024 10:51:14 +0100 Subject: [PATCH] Migrate to new image repositories --- ci/README.md | 20 +++++++++--------- ci/scripts/generate-docker-credentials.sh | 13 ++++++++++++ ci/tasks/acceptance-tests.yml | 6 +++--- ci/tasks/build-oci-image.yml | 23 +++++++++++++++++++++ ci/tasks/build-project.yml | 6 +++--- ci/tasks/generate-docker-credentials.yml | 25 +++++++++++++++++++++++ ci/tasks/list-prs.yml | 6 +++--- ci/tasks/promote.yml | 4 +++- ci/tasks/stage.yml | 6 +++--- ci/tasks/sync-to-maven-central.yml | 4 +++- 10 files changed, 89 insertions(+), 24 deletions(-) create mode 100755 ci/scripts/generate-docker-credentials.sh create mode 100644 ci/tasks/build-oci-image.yml create mode 100644 ci/tasks/generate-docker-credentials.yml diff --git a/ci/README.md b/ci/README.md index 2d02a55..93e6118 100644 --- a/ci/README.md +++ b/ci/README.md @@ -36,10 +36,10 @@ The original pipeline was decomposed into different jobs so that we could recove ### Fly -The pipeline can be run using the following script from the `main` branch: +The pipeline can be set using the following script on the most recent branch of the repository: ```$bash -$ ./ci/scripts/set-pipeline.sh +$ ./scripts/set-pipelines.sh ``` ### Release commands @@ -49,22 +49,22 @@ If you don't want to click, you can trigger each job using the CLI: To release a milestone: ```$bash -$ fly -t scs trigger-job -j release-test/stage-milestone -$ fly -t scs trigger-job -j release-test/promote-milestone +$ fly -t app-broker trigger-job -j release-test/stage-milestone +$ fly -t app-broker trigger-job -j release-test/promote-milestone ``` To release an RC: ```$bash -$ fly -t scs trigger-job -j release-test/stage-rc -$ fly -t scs trigger-job -j release-test/promote-rc +$ fly -t app-broker trigger-job -j release-test/stage-rc +$ fly -t app-broker trigger-job -j release-test/promote-rc ``` To release a GA: ```$bash -$ fly -t scs trigger-job -j release-test/stage-release -$ fly -t scs trigger-job -j release-test/promote-release -$ fly -t scs trigger-job -j release-test/distribute-release -$ fly -t scs trigger-job -j release-test/sync-to-maven-central +$ fly -t app-broker trigger-job -j release-test/stage-release +$ fly -t app-broker trigger-job -j release-test/promote-release +$ fly -t app-broker trigger-job -j release-test/distribute-release +$ fly -t app-broker trigger-job -j release-test/sync-to-maven-central ``` diff --git a/ci/scripts/generate-docker-credentials.sh b/ci/scripts/generate-docker-credentials.sh new file mode 100755 index 0000000..04166ed --- /dev/null +++ b/ci/scripts/generate-docker-credentials.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +set -eu + +export TERM="xterm-256color" + +readonly DOCKER_CONFIG_OUTPUT="${DOCKER_CONFIG_OUTPUT:?must be set}" + +# Note that we don't use libs.sh here because that script requires bash, and +# we don't have bash in this container image + +printf "%s" "$REGISTRY_PASSWORD" | docker login "$REGISTRY" --username "$REGISTRY_USERNAME" --password-stdin +cp -v ~/.docker/config.json "$DOCKER_CONFIG_OUTPUT/" diff --git a/ci/tasks/acceptance-tests.yml b/ci/tasks/acceptance-tests.yml index e8397eb..7c3544a 100644 --- a/ci/tasks/acceptance-tests.yml +++ b/ci/tasks/acceptance-tests.yml @@ -3,9 +3,9 @@ platform: linux image_resource: type: registry-image source: - repository: ((corporate-harbor-registry))/((dockerhub-organization))/app-broker-ci - username: ((corporate-harbor-robot-account.username)) - password: ((corporate-harbor-robot-account.password)) + repository: ((app-broker-dev-docker-registry))/ci/app-broker-ci + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: ((ci-image-tag)) inputs: - name: git-repo diff --git a/ci/tasks/build-oci-image.yml b/ci/tasks/build-oci-image.yml new file mode 100644 index 0000000..5912359 --- /dev/null +++ b/ci/tasks/build-oci-image.yml @@ -0,0 +1,23 @@ +platform: linux + +image_resource: + type: registry-image + source: + repository: ((app-broker-virtual-docker-registry))/concourse/oci-build-task + tag: 0.11.1 + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) + +inputs: + - name: git-repo + - name: docker-config + +outputs: + - name: image + +run: + path: build + +params: + DEBUG: true + DOCKER_CONFIG: docker-config diff --git a/ci/tasks/build-project.yml b/ci/tasks/build-project.yml index b68058a..fbe7831 100644 --- a/ci/tasks/build-project.yml +++ b/ci/tasks/build-project.yml @@ -3,9 +3,9 @@ platform: linux image_resource: type: registry-image source: - repository: ((corporate-harbor-registry))/((dockerhub-organization))/app-broker-ci - username: ((corporate-harbor-robot-account.username)) - password: ((corporate-harbor-robot-account.password)) + repository: ((app-broker-dev-docker-registry))/ci/app-broker-ci + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: ((ci-image-tag)) inputs: - name: git-repo diff --git a/ci/tasks/generate-docker-credentials.yml b/ci/tasks/generate-docker-credentials.yml new file mode 100644 index 0000000..4094063 --- /dev/null +++ b/ci/tasks/generate-docker-credentials.yml @@ -0,0 +1,25 @@ +platform: linux + +image_resource: + type: registry-image + source: + repository: ((app-broker-virtual-docker-registry))/docker + tag: 26-cli + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) + +inputs: + - name: git-repo + +outputs: + - name: docker-config + +run: + path: ci/scripts/generate-docker-credentials.sh + dir: git-repo + +params: + DOCKER_CONFIG_OUTPUT: ../docker-config + REGISTRY: ((registry)) + REGISTRY_USERNAME: ((registry-username)) + REGISTRY_PASSWORD: ((registry-password)) diff --git a/ci/tasks/list-prs.yml b/ci/tasks/list-prs.yml index 1009520..3aca797 100644 --- a/ci/tasks/list-prs.yml +++ b/ci/tasks/list-prs.yml @@ -3,10 +3,10 @@ platform: linux image_resource: type: registry-image source: - repository: ((corporate-harbor-registry))/((dockerhub-organization))/app-broker-ci + repository: ((app-broker-dev-docker-registry))/ci/app-broker-ci + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: ((ci-image-tag)) - username: ((corporate-harbor-robot-account.username)) - password: ((corporate-harbor-robot-account.password)) inputs: - name: git-repo diff --git a/ci/tasks/promote.yml b/ci/tasks/promote.yml index ef4a016..ce143bd 100644 --- a/ci/tasks/promote.yml +++ b/ci/tasks/promote.yml @@ -3,7 +3,9 @@ platform: linux image_resource: type: registry-image source: - repository: ((dockerhub-mirror-registry))/springio/concourse-release-scripts + repository: ((app-broker-virtual-docker-registry))/springio/concourse-release-scripts + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: '0.3.4' inputs: - name: git-repo diff --git a/ci/tasks/stage.yml b/ci/tasks/stage.yml index e9a3b8b..c4ade4a 100644 --- a/ci/tasks/stage.yml +++ b/ci/tasks/stage.yml @@ -3,9 +3,9 @@ platform: linux image_resource: type: registry-image source: - repository: ((corporate-harbor-registry))/((dockerhub-organization))/app-broker-ci - username: ((corporate-harbor-robot-account.username)) - password: ((corporate-harbor-robot-account.password)) + repository: ((app-broker-dev-docker-registry))/ci/app-broker-ci + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: ((ci-image-tag)) inputs: - name: git-repo diff --git a/ci/tasks/sync-to-maven-central.yml b/ci/tasks/sync-to-maven-central.yml index 0b5d009..8c1ae06 100644 --- a/ci/tasks/sync-to-maven-central.yml +++ b/ci/tasks/sync-to-maven-central.yml @@ -3,7 +3,9 @@ platform: linux image_resource: type: registry-image source: - repository: ((dockerhub-mirror-registry))/springio/concourse-release-scripts + repository: ((app-broker-virtual-docker-registry))/springio/concourse-release-scripts + username: ((broadcom-jfrog-artifactory-robot-account.username)) + password: ((broadcom-jfrog-artifactory-robot-account.password)) tag: '0.3.4' inputs: - name: git-repo