From 6b978cb5dc40add849f1fdf4ef6c40651cfced18 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Thu, 15 Oct 2020 18:02:00 +0200 Subject: [PATCH] Refactor Concourse pipeline Extract duplicate snippets as document anchors. --- ci/pipeline.yml | 113 +++++++++++++++++------------------------------- 1 file changed, 39 insertions(+), 74 deletions(-) diff --git a/ci/pipeline.yml b/ci/pipeline.yml index 03306b58a56..1827f101504 100644 --- a/ci/pipeline.yml +++ b/ci/pipeline.yml @@ -1,19 +1,36 @@ +anchors: + slack-fail-params: &slack-fail-params + text: > + :concourse-failed: + [$TEXT_FILE_CONTENT] + text_file: git-repo/build/build-scan-uri.txt + silent: true + icon_emoji: ":concourse:" + username: concourse-ci + gradle-enterprise-task-params: &gradle-enterprise-task-params + GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) + GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) + GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + artifactory-task-params: &artifactory-task-params + ARTIFACTORY_SERVER: ((artifactory-server)) + ARTIFACTORY_USERNAME: ((artifactory-username)) + ARTIFACTORY_PASSWORD: ((artifactory-password)) + docker-resource-source: &docker-resource-source + username: ((docker-hub-username)) + password: ((docker-hub-password)) + tag: 5.3.x + resource_types: - name: artifactory-resource type: docker-image source: repository: springio/artifactory-resource - tag: 0.0.12-SNAPSHOT + tag: 0.0.12 - name: github-status-resource type: docker-image source: repository: dpb587/github-status-resource tag: master -- name: email - type: docker-image - source: - repository: pcfseceng/email-resource - tag: 1.0.19 - name: slack-notification type: docker-image source: @@ -46,34 +63,26 @@ resources: type: docker-image icon: docker source: + <<: *docker-resource-source repository: ((docker-hub-organization))/spring-framework-ci-image - username: ((docker-hub-username)) - password: ((docker-hub-password)) - tag: 5.3.x - name: spring-framework-jdk11-ci-image type: docker-image icon: docker source: + <<: *docker-resource-source repository: ((docker-hub-organization))/spring-framework-jdk11-ci-image - username: ((docker-hub-username)) - password: ((docker-hub-password)) - tag: 5.3.x - name: spring-framework-jdk14-ci-image type: docker-image icon: docker source: + <<: *docker-resource-source repository: ((docker-hub-organization))/spring-framework-jdk14-ci-image - username: ((docker-hub-username)) - password: ((docker-hub-password)) - tag: 5.3.x - name: spring-framework-jdk15-ci-image type: docker-image icon: docker source: + <<: *docker-resource-source repository: ((docker-hub-organization))/spring-framework-jdk15-ci-image - username: ((docker-hub-username)) - password: ((docker-hub-password)) - tag: 5.3.x - name: artifactory-repo type: artifactory-resource icon: package-variant @@ -158,23 +167,14 @@ jobs: file: git-repo/ci/tasks/build-project.yml params: BRANCH: ((branch)) - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params on_failure: do: - put: repo-status-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: - text: > - :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! - [] - [<$TEXT_FILE_CONTENT|build scan>] - text_file: git-repo/build/build-scan-uri.txt - silent: true - icon_emoji: ":concourse:" - username: concourse-ci + <<: *slack-fail-params - put: repo-status-build params: { state: "success", commit: "git-repo" } - put: artifactory-repo @@ -224,23 +224,14 @@ jobs: file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params on_failure: do: - put: repo-status-jdk11-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: - text: > - :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! - [] - [<$TEXT_FILE_CONTENT|build scan>] - text_file: git-repo/build/build-scan-uri.txt - silent: true - icon_emoji: ":concourse:" - username: concourse-ci + <<: *slack-fail-params - put: repo-status-jdk11-build params: { state: "success", commit: "git-repo" } - name: jdk14-build @@ -261,23 +252,14 @@ jobs: file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params on_failure: do: - put: repo-status-jdk14-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: - text: > - :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! - [] - [<$TEXT_FILE_CONTENT|build scan>] - text_file: git-repo/build/build-scan-uri.txt - silent: true - icon_emoji: ":concourse:" - username: concourse-ci + <<: *slack-fail-params - put: repo-status-jdk14-build params: { state: "success", commit: "git-repo" } - name: jdk15-build @@ -298,23 +280,14 @@ jobs: file: git-repo/ci/tasks/check-project.yml params: BRANCH: ((branch)) - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params on_failure: do: - put: repo-status-jdk15-build params: { state: "failure", commit: "git-repo" } - put: slack-alert params: - text: > - :concourse-failed: ${BUILD_PIPELINE_NAME} ${BUILD_JOB_NAME} failed! - [] - [<$TEXT_FILE_CONTENT|build scan>] - text_file: git-repo/build/build-scan-uri.txt - silent: true - icon_emoji: ":concourse:" - username: concourse-ci + <<: *slack-fail-params - put: repo-status-jdk15-build params: { state: "success", commit: "git-repo" } - name: stage-milestone @@ -328,9 +301,7 @@ jobs: file: git-repo/ci/tasks/stage-version.yml params: RELEASE_TYPE: M - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params - put: artifactory-repo params: <<: *artifactory-params @@ -355,9 +326,7 @@ jobs: file: git-repo/ci/tasks/promote-version.yml params: RELEASE_TYPE: M - ARTIFACTORY_SERVER: ((artifactory-server)) - ARTIFACTORY_USERNAME: ((artifactory-username)) - ARTIFACTORY_PASSWORD: ((artifactory-password)) + <<: *artifactory-task-params - name: stage-rc serial: true plan: @@ -369,9 +338,7 @@ jobs: file: git-repo/ci/tasks/stage-version.yml params: RELEASE_TYPE: RC - GRADLE_ENTERPRISE_ACCESS_KEY: ((gradle_enterprise_secret_access_key)) - GRADLE_ENTERPRISE_CACHE_USERNAME: ((gradle_enterprise_cache_user.username)) - GRADLE_ENTERPRISE_CACHE_PASSWORD: ((gradle_enterprise_cache_user.password)) + <<: *gradle-enterprise-task-params - put: artifactory-repo params: <<: *artifactory-params @@ -396,9 +363,7 @@ jobs: file: git-repo/ci/tasks/promote-version.yml params: RELEASE_TYPE: RC - ARTIFACTORY_SERVER: ((artifactory-server)) - ARTIFACTORY_USERNAME: ((artifactory-username)) - ARTIFACTORY_PASSWORD: ((artifactory-password)) + <<: *artifactory-task-params groups: - name: "Build" jobs: ["build", "jdk11-build", "jdk14-build", "jdk15-build"]