Add maven central syncing to release process.
This commit is contained in:
@@ -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:
|
With this in place, run the following `fly` commands to create pipelines:
|
||||||
|
|
||||||
----
|
----
|
||||||
% fly -t <team-name> sp -p spring-session-data-mongodb -c ci/pipeline-template.yml -l credentials.yml -v branch=master -v release-branch=release
|
% fly -t spring-team sp -p spring-session-data-mongodb -c ci/pipeline-template.yml -l credentials.yml -v branch=master -v release-branch=release
|
||||||
% fly -t <team-name> sp -p spring-session-data-mongodb-2.0.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.0.x -v release-branch=release-2.0.x
|
% fly -t spring-team sp -p spring-session-data-mongodb-2.0.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.0.x -v release-branch=release-2.0.x
|
||||||
----
|
----
|
||||||
|
|
||||||
This creates pipelines for:
|
This creates pipelines for:
|
||||||
@@ -40,8 +40,8 @@ This creates pipelines for:
|
|||||||
With these pipelines in place, you can now activate and expose them:
|
With these pipelines in place, you can now activate and expose them:
|
||||||
|
|
||||||
----
|
----
|
||||||
% fly -t <team-name> unpause-pipeline -p spring-session-data-mongodb
|
% fly -t spring-team unpause-pipeline -p spring-session-data-mongodb
|
||||||
% fly -t <team-name> expose-pipeline -p spring-session-data-mongodb
|
% fly -t spring-team expose-pipeline -p spring-session-data-mongodb
|
||||||
% fly -t <team-name> unpause-pipeline -p spring-session-data-mongodb-2.0.x
|
% fly -t spring-team unpause-pipeline -p spring-session-data-mongodb-2.0.x
|
||||||
% fly -t <team-name> expose-pipeline -p spring-session-data-mongodb-2.x
|
% fly -t spring-team expose-pipeline -p spring-session-data-mongodb-2.x
|
||||||
----
|
----
|
||||||
@@ -104,6 +104,7 @@ groups:
|
|||||||
jobs:
|
jobs:
|
||||||
- release-to-artifactory
|
- release-to-artifactory
|
||||||
- promote-to-bintray
|
- promote-to-bintray
|
||||||
|
- sync-to-maven-central
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- name: Test - JDK 8
|
- name: Test - JDK 8
|
||||||
@@ -683,7 +684,6 @@ jobs:
|
|||||||
|
|
||||||
- name: promote-to-bintray
|
- name: promote-to-bintray
|
||||||
serial: true
|
serial: true
|
||||||
public: true
|
|
||||||
plan:
|
plan:
|
||||||
- get: spring-session-data-mongodb-artifactory
|
- get: spring-session-data-mongodb-artifactory
|
||||||
trigger: true
|
trigger: true
|
||||||
@@ -725,3 +725,51 @@ jobs:
|
|||||||
text: "Promoting to bintray has succeeded!"
|
text: "Promoting to bintray has succeeded!"
|
||||||
title: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME"
|
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
|
title_link: $ATC_EXTERNAL_URL/teams/$BUILD_TEAM_NAME/pipelines/$BUILD_PIPELINE_NAME/jobs/$BUILD_JOB_NAME/builds/$BUILD_NAME
|
||||||
|
|
||||||
|
- name: sync-to-maven-central
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-session-data-mongodb-github
|
||||||
|
resource: spring-session-data-mongodb-release
|
||||||
|
- get: spring-session-data-mongodb-artifactory
|
||||||
|
trigger: true
|
||||||
|
passed: [promote-to-bintray]
|
||||||
|
params:
|
||||||
|
save_build_info: true
|
||||||
|
- task: sync-to-maven-central
|
||||||
|
file: spring-session-data-mongodb-github/ci/sync-to-maven-central.yml
|
||||||
|
params:
|
||||||
|
BINTRAY_USERNAME: ((bintray-username))
|
||||||
|
BINTRAY_API_KEY: ((bintray-api-key))
|
||||||
|
SONATYPE_USER_TOKEN: ((sonatype-user-token))
|
||||||
|
SONATYPE_PASSWORD_TOKEN: ((sonatype-user-token-password))
|
||||||
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
|
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 <FAILURE>"
|
||||||
|
text: "Syncing to maven central 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 <SUCCESS>"
|
||||||
|
text: "Syncing to maven central 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
|
||||||
|
|||||||
24
ci/sync-to-maven-central.sh
Executable file
24
ci/sync-to-maven-central.sh
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y jq
|
||||||
|
|
||||||
|
buildName=$( cat spring-session-data-mongodb-artifactory/build-info.json | jq -r '.buildInfo.name' )
|
||||||
|
buildNumber=$( cat spring-session-data-mongodb-artifactory/build-info.json | jq -r '.buildInfo.number' )
|
||||||
|
groupId=$( cat spring-session-data-mongodb-artifactory/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/\(.*\):.*:.*/\1/' )
|
||||||
|
version=$( cat spring-session-data-mongodb-artifactory/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
||||||
|
|
||||||
|
echo "Syncing ${buildName}/${buildNumber} to Maven Central"
|
||||||
|
curl \
|
||||||
|
-s \
|
||||||
|
--connect-timeout 240 \
|
||||||
|
--max-time 2700 \
|
||||||
|
-u ${BINTRAY_USERNAME}:${BINTRAY_API_KEY} \
|
||||||
|
-H "Content-Type: application/json" -d "{ \"username\": \"${SONATYPE_USER_TOKEN}\", \"password\": \"${SONATYPE_PASSWORD_TOKEN}\"}" \
|
||||||
|
-f \
|
||||||
|
-X \
|
||||||
|
POST "https://api.bintray.com/maven_central_sync/spring/jars/${groupId}/versions/${version}" > /dev/null || { echo "Failed to sync" >&2; exit 1; }
|
||||||
|
|
||||||
|
echo "Sync complete"
|
||||||
21
ci/sync-to-maven-central.yml
Normal file
21
ci/sync-to-maven-central.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
|
||||||
|
image_resource:
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: openjdk
|
||||||
|
tag: 8-jdk
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
- name: spring-session-data-mongodb-artifactory
|
||||||
|
- name: spring-session-data-mongodb-github
|
||||||
|
|
||||||
|
run:
|
||||||
|
path: spring-session-data-mongodb-github/ci/sync-to-maven-central.sh
|
||||||
|
|
||||||
|
params:
|
||||||
|
BINTRAY_USERNAME:
|
||||||
|
BINTRAY_API_KEY:
|
||||||
|
SONATYPE_USER_TOKEN:
|
||||||
|
SONATYPE_PASSWORD_TOKEN:
|
||||||
Reference in New Issue
Block a user