From 25b44e01f06c32976a4f4c93c9409b0bb6ef0e75 Mon Sep 17 00:00:00 2001 From: Greg Turnquist Date: Tue, 27 Nov 2018 11:25:32 -0600 Subject: [PATCH] Introduce release task --- ci/README.adoc | 4 +-- ci/pipeline-template.yml | 62 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/ci/README.adoc b/ci/README.adoc index cdcf4a7..d5bc288 100644 --- a/ci/README.adoc +++ b/ci/README.adoc @@ -28,8 +28,8 @@ WARNING: Do NOT check this file into source control! If you'll check, `credentia With this in place, run the following `fly` commands to create pipelines: ---- -% fly -t sp -p spring-session-data-mongodb -c ci/pipeline-template.yml -l credentials.yml -v branch=master -% fly -t sp -p spring-session-data-mongodb-2.0.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.0.x +% fly -t sp -p spring-session-data-mongodb -c ci/pipeline-template.yml -l credentials.yml -v branch=master release-branch=release +% fly -t sp -p spring-session-data-mongodb-2.0.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.0.x release-branch=release-2.0.x ---- This creates pipelines for: diff --git a/ci/pipeline-template.yml b/ci/pipeline-template.yml index 5331858..8bfba0b 100644 --- a/ci/pipeline-template.yml +++ b/ci/pipeline-template.yml @@ -63,6 +63,12 @@ resources: repo: spring-projects/spring-session-data-mongodb base: ((branch)) +- name: spring-session-data-mongodb-release + type: git + source: + uri: https://github.com/spring-projects/spring-session-data-mongodb.git + branch: ((release-branch)) + - name: spring-session-data-mongodb-status type: github-status source: @@ -94,6 +100,9 @@ groups: - name: pull-requests jobs: - spring-session-data-mongodb-pull-requests +- name: release + jobs: + - spring-session-data-mongodb-release jobs: - name: Test - JDK 8 @@ -617,3 +626,56 @@ jobs: text: "Build has succeeded!" title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME + +- name: spring-session-data-mongodb-release + serial: true + public: true + plan: + - get: spring-session-data-mongodb-github + resource: spring-session-data-mongodb-release + trigger: true + - put: spring-session-data-mongodb-status + params: + commit: spring-session-data-mongodb-github + state: pending + - task: build + file: spring-session-data-mongodb-github/ci/build.yml + - put: spring-session-data-mongodb-artifactory + params: + build_number: ${BUILD_NAME} + build_uri: ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} + repo: libs-release-local + folder: spring-session-data-mongodb-artifactory + artifact_set: + - include: + - "/**" + properties: + archives: '*:*:*:*@zip zip.name:spring-session-data-mongodb, zip.displayname:Spring Session Data MongoDB, zip.deployed:false' + on_failure: + aggregate: + - put: spring-session-data-mongodb-status + params: + commit: spring-session-data-mongodb-github + state: failure + - put: slack + params: + attachments: + - color: danger + fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " + text: "Build has failed" + title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" + title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME + on_success: + aggregate: + - put: spring-session-data-mongodb-status + params: + commit: spring-session-data-mongodb-github + state: success + - put: slack + params: + attachments: + - color: good + fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME " + text: "Build has succeeded!" + title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME" + title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME