Add Concourse CI pipeline
Add CI pipeline for builds and releases. Fixes gh-9316pull/10519/head
parent
da0c4f5520
commit
e9f9462917
@ -0,0 +1,49 @@
|
|||||||
|
== Concourse pipeline
|
||||||
|
|
||||||
|
To set the pipeline first create a file in this directory called `secrets.yml`:
|
||||||
|
|
||||||
|
[source,yaml]
|
||||||
|
.secrets.yml
|
||||||
|
----
|
||||||
|
docker-hub-username: <user>
|
||||||
|
docker-hub-password: <secret>
|
||||||
|
github-username: <user>
|
||||||
|
github-password: <secret>
|
||||||
|
artifactory-username: <user>
|
||||||
|
artifactory-password: <secret>
|
||||||
|
----
|
||||||
|
|
||||||
|
NOTE: The file should be ignored by git, make sure that you don't commit it!
|
||||||
|
|
||||||
|
Once the file has been created, the pipeline can be deployed:
|
||||||
|
|
||||||
|
[source]
|
||||||
|
----
|
||||||
|
$ fly -t spring set-pipeline -p spring-boot -c ci/pipeline.yml -l ci/parameters.yml -l ci/secrets.yml
|
||||||
|
----
|
||||||
|
|
||||||
|
=== Release
|
||||||
|
|
||||||
|
To release a milestone:
|
||||||
|
|
||||||
|
[source]
|
||||||
|
----
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/stage-milestone
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/promote-milestone
|
||||||
|
----
|
||||||
|
|
||||||
|
To release an RC:
|
||||||
|
|
||||||
|
[source]
|
||||||
|
----
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/stage-rc
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/promote-rc
|
||||||
|
----
|
||||||
|
|
||||||
|
To release a GA:
|
||||||
|
|
||||||
|
[source]
|
||||||
|
----
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/stage-release
|
||||||
|
$ fly -t spring trigger-job -j spring-boot/promote-release
|
||||||
|
----
|
@ -0,0 +1,8 @@
|
|||||||
|
FROM openjdk:8u141-jdk
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y git && \
|
||||||
|
apt-get install -y libxml2-utils && \
|
||||||
|
apt-get install -y jq
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/spring-io/concourse-java-scripts/v0.0.1/concourse-java.sh /opt/
|
@ -0,0 +1,8 @@
|
|||||||
|
FROM openjdk:9-b179-jdk
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y git && \
|
||||||
|
apt-get install -y libxml2-utils && \
|
||||||
|
apt-get install -y jq
|
||||||
|
|
||||||
|
ADD https://raw.githubusercontent.com/spring-io/concourse-java-scripts/v0.0.1/concourse-java.sh /opt/
|
@ -0,0 +1,10 @@
|
|||||||
|
email-server: "smtp.svc.pivotal.io"
|
||||||
|
email-from: "ci@spring.io"
|
||||||
|
email-to: ["spring-boot-dev@pivotal.io"]
|
||||||
|
github-repo: "https://github.com/spring-projects/spring-boot.git"
|
||||||
|
docker-hub-organization: "springci"
|
||||||
|
artifactory-server: "https://repo.spring.io/"
|
||||||
|
branch: "master"
|
||||||
|
build-name: "spring-boot"
|
||||||
|
bintray-subject: "spring"
|
||||||
|
bintray-repo: "jars"
|
@ -0,0 +1,259 @@
|
|||||||
|
resource_types:
|
||||||
|
- name: artifactory-resource
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: springio/artifactory-resource
|
||||||
|
tag: 0.0.1
|
||||||
|
- name: email
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: pcfseceng/email-resource
|
||||||
|
resources:
|
||||||
|
- name: git-repo
|
||||||
|
type: git
|
||||||
|
source:
|
||||||
|
uri: ((github-repo))
|
||||||
|
username: ((github-username))
|
||||||
|
password: ((github-password))
|
||||||
|
branch: ((branch))
|
||||||
|
ignore_paths: ["ci/images/*"]
|
||||||
|
- name: ci-images-git-repo
|
||||||
|
type: git
|
||||||
|
source:
|
||||||
|
uri: ((github-repo))
|
||||||
|
branch: ((branch))
|
||||||
|
paths: ["ci/images/*"]
|
||||||
|
- name: spring-boot-ci-image
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: ((docker-hub-organization))/spring-boot-ci-image
|
||||||
|
username: ((docker-hub-username))
|
||||||
|
password: ((docker-hub-password))
|
||||||
|
tag: ((branch))
|
||||||
|
- name: spring-boot-jdk9-ci-image
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: ((docker-hub-organization))/spring-boot-jdk9-ci-image
|
||||||
|
username: ((docker-hub-username))
|
||||||
|
password: ((docker-hub-password))
|
||||||
|
tag: ((branch))
|
||||||
|
- name: artifactory-repo
|
||||||
|
type: artifactory-resource
|
||||||
|
source:
|
||||||
|
uri: ((artifactory-server))
|
||||||
|
username: ((artifactory-username))
|
||||||
|
password: ((artifactory-password))
|
||||||
|
build_name: ((build-name))
|
||||||
|
- name: email-notification
|
||||||
|
type: email
|
||||||
|
source:
|
||||||
|
smtp:
|
||||||
|
host: ((email-server))
|
||||||
|
port: "25"
|
||||||
|
anonymous: true
|
||||||
|
skip_ssl_validation: true
|
||||||
|
from: ((email-from))
|
||||||
|
to: ((email-to))
|
||||||
|
jobs:
|
||||||
|
- name: build-spring-boot-ci-images
|
||||||
|
plan:
|
||||||
|
- get: ci-images-git-repo
|
||||||
|
trigger: true
|
||||||
|
- put: spring-boot-ci-image
|
||||||
|
params:
|
||||||
|
build: ci-images-git-repo/ci/images/spring-boot-ci-image
|
||||||
|
- put: spring-boot-jdk9-ci-image
|
||||||
|
params:
|
||||||
|
build: ci-images-git-repo/ci/images/spring-boot-jdk9-ci-image
|
||||||
|
- name: build
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
trigger: true
|
||||||
|
- do:
|
||||||
|
- task: build-project
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-project.yml
|
||||||
|
- aggregate:
|
||||||
|
- task: build-samples
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-samples.yml
|
||||||
|
- task: build-integration-tests
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-integration-tests.yml
|
||||||
|
- task: build-deployment-tests
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-deployment-tests.yml
|
||||||
|
on_failure:
|
||||||
|
put: email-notification
|
||||||
|
params:
|
||||||
|
subject_text: "Build failure ${BUILD_PIPELINE_NAME} / ${BUILD_JOB_NAME} / ${BUILD_NAME}"
|
||||||
|
body_text: "Build ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} has failed!"
|
||||||
|
- put: artifactory-repo
|
||||||
|
params: &artifactory-params
|
||||||
|
repo: libs-snapshot-local
|
||||||
|
build_number: "${BUILD_ID}"
|
||||||
|
folder: distribution-repository
|
||||||
|
build_uri: "https://ci.spring.io/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}"
|
||||||
|
build_number: "${BUILD_PIPELINE_NAME}-${BUILD_JOB_NAME}-${BUILD_NAME}"
|
||||||
|
artifact_set:
|
||||||
|
- include:
|
||||||
|
- "/**/spring-boot-docs-*.zip"
|
||||||
|
properties:
|
||||||
|
zip-type: "docs"
|
||||||
|
zip-deployed: "false"
|
||||||
|
- name: jdk9-build
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-jdk9-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
- do:
|
||||||
|
- task: build-project
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-jdk9-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-project.yml
|
||||||
|
- aggregate:
|
||||||
|
- task: build-samples
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-jdk9-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-samples.yml
|
||||||
|
- task: build-integration-tests
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-jdk9-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-integration-tests.yml
|
||||||
|
- task: build-deployment-tests
|
||||||
|
timeout: 1h30m
|
||||||
|
image: spring-boot-jdk9-ci-image
|
||||||
|
file: git-repo/ci/tasks/build-deployment-tests.yml
|
||||||
|
on_failure:
|
||||||
|
put: email-notification
|
||||||
|
params:
|
||||||
|
subject_text: "JDK 9 Build failure ${BUILD_PIPELINE_NAME} / ${BUILD_JOB_NAME} / ${BUILD_NAME}"
|
||||||
|
body_text: "Build ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME} has failed!"
|
||||||
|
- name: stage-milestone
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- task: stage
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/stage.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: M
|
||||||
|
- put: artifactory-repo
|
||||||
|
params:
|
||||||
|
<<: *artifactory-params
|
||||||
|
repo: libs-staging-local
|
||||||
|
- put: git-repo
|
||||||
|
params:
|
||||||
|
repository: stage-git-repo
|
||||||
|
- name: stage-rc
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- task: stage
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/stage.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: RC
|
||||||
|
- put: artifactory-repo
|
||||||
|
params:
|
||||||
|
<<: *artifactory-params
|
||||||
|
repo: libs-staging-local
|
||||||
|
- put: git-repo
|
||||||
|
params:
|
||||||
|
repository: stage-git-repo
|
||||||
|
- name: stage-release
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- task: stage
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/stage.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: RELEASE
|
||||||
|
- put: artifactory-repo
|
||||||
|
params:
|
||||||
|
<<: *artifactory-params
|
||||||
|
repo: libs-staging-local
|
||||||
|
- put: git-repo
|
||||||
|
params:
|
||||||
|
repository: stage-git-repo
|
||||||
|
- name: promote-milestone
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: spring-boot-ci-image
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- get: artifactory-repo
|
||||||
|
trigger: false
|
||||||
|
passed: [stage-milestone]
|
||||||
|
params:
|
||||||
|
save_build_info: true
|
||||||
|
- task: promote
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/promote.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: M
|
||||||
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
|
- name: promote-rc
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- get: artifactory-repo
|
||||||
|
trigger: false
|
||||||
|
passed: [stage-rc]
|
||||||
|
params:
|
||||||
|
save_build_info: true
|
||||||
|
- task: promote
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/promote.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: RC
|
||||||
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
|
- name: promote-release
|
||||||
|
serial: true
|
||||||
|
plan:
|
||||||
|
- get: git-repo
|
||||||
|
trigger: false
|
||||||
|
- get: artifactory-repo
|
||||||
|
trigger: false
|
||||||
|
passed: [stage-release]
|
||||||
|
params:
|
||||||
|
save_build_info: true
|
||||||
|
- task: promote
|
||||||
|
image: spring-boot-ci-image
|
||||||
|
file: git-repo/ci/tasks/promote.yml
|
||||||
|
params:
|
||||||
|
RELEASE_TYPE: RELEASE
|
||||||
|
ARTIFACTORY_SERVER: ((artifactory-server))
|
||||||
|
ARTIFACTORY_USERNAME: ((artifactory-username))
|
||||||
|
ARTIFACTORY_PASSWORD: ((artifactory-password))
|
||||||
|
BINTRAY_USERNAME: ((bintray-username))
|
||||||
|
BINTRAY_PASSWORD: ((bintray-password))
|
||||||
|
SONATYPE_USERNAME: ((sonattype-username))
|
||||||
|
SONATYPE_PASSWORD: ((sonattype-password))
|
||||||
|
BINTRAY_SUBJECT: ((bintray-subject))
|
||||||
|
BINTRAY_REPO: ((bintray-repo))
|
||||||
|
groups:
|
||||||
|
- name: "Build"
|
||||||
|
jobs: ["build", "jdk9-build"]
|
||||||
|
- name: "Release"
|
||||||
|
jobs: ["stage-milestone", "stage-rc", "stage-release", "promote-milestone", "promote-rc", "promote-release"]
|
||||||
|
- name: "CI Images"
|
||||||
|
jobs: ["build-spring-boot-ci-images"]
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
repository=$(pwd)/distribution-repository
|
||||||
|
|
||||||
|
pushd git-repo > /dev/null
|
||||||
|
run_maven -f spring-boot-tests/spring-boot-deployment-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
popd > /dev/null
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
repository=$(pwd)/distribution-repository
|
||||||
|
|
||||||
|
pushd git-repo > /dev/null
|
||||||
|
run_maven -f spring-boot-tests/spring-boot-integration-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
popd > /dev/null
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
repository=$(pwd)/distribution-repository
|
||||||
|
|
||||||
|
pushd git-repo > /dev/null
|
||||||
|
run_maven -f spring-boot-project/pom.xml clean deploy -U -Dfull -DaltDeploymentRepository=distribution::default::file://${repository}
|
||||||
|
popd > /dev/null
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
repository=$(pwd)/distribution-repository
|
||||||
|
|
||||||
|
pushd git-repo > /dev/null
|
||||||
|
run_maven -f spring-boot-samples/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
popd > /dev/null
|
@ -0,0 +1,4 @@
|
|||||||
|
source /opt/concourse-java.sh
|
||||||
|
|
||||||
|
setup_symlinks
|
||||||
|
cleanup_maven_repo "org.springframework.boot"
|
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
|
||||||
|
buildName=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.name' )
|
||||||
|
buildNumber=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.number' )
|
||||||
|
groupId=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/\(.*\):.*:.*/\1/' )
|
||||||
|
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
||||||
|
|
||||||
|
|
||||||
|
if [[ $RELEASE_TYPE = "M" ]]; then
|
||||||
|
targetRepo="libs-milestone-local"
|
||||||
|
elif [[ $RELEASE_TYPE = "RC" ]]; then
|
||||||
|
targetRepo="libs-milestone-local"
|
||||||
|
elif [[ $RELEASE_TYPE = "RELEASE" ]]; then
|
||||||
|
targetRepo="libs-release-local"
|
||||||
|
else
|
||||||
|
echo "Unknown release type $RELEASE_TYPE" >&2; exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Promoting ${buildName}/${buildNumber} to ${targetRepo}"
|
||||||
|
|
||||||
|
curl \
|
||||||
|
-u ${ARTIFACTORY_USERNAME}:${ARTIFACTORY_PASSWORD} \
|
||||||
|
-H"Content-type:application/json" \
|
||||||
|
-d "{\"status\": \"staged\", \"sourceRepo\": \"libs-staging-local\", \"targetRepo\": \"\"}" \
|
||||||
|
-f \
|
||||||
|
-X \
|
||||||
|
POST "${ARTIFACTORY_SERVER}/api/build/promote/${buildName}/${buildNumber}" > /dev/null || { echo "Failed to promote" >&2; exit 1; }
|
||||||
|
|
||||||
|
elif [[ $RELEASE_TYPE = "RELEASE" ]]; then
|
||||||
|
curl \
|
||||||
|
-u ${ARTIFACTORY_USERNAME}:${ARTIFACTORY_PASSWORD} \
|
||||||
|
-H"Content-type:application/json" \
|
||||||
|
-u ${ARTIFACTORY_USERNAME}:${ARTIFACTORY_PASSWORD} \
|
||||||
|
-d "{\"sourceRepos\": [\"libs-release-local\"], \"targetRepo\" : \"spring-distributions\"}"
|
||||||
|
-f \
|
||||||
|
-X \
|
||||||
|
POST "${ARTIFACTORY_SERVER}/api/build/distribute/${buildName}/${buildNumber}" > /dev/null || { echo "Failed to publish" >&2; exit 1; }
|
||||||
|
|
||||||
|
curl \
|
||||||
|
-u ${BINTRAY_USERNAME}:${BINTRAY_PASSWORD} \
|
||||||
|
-H "Content-Type: application/json" -d "{\"username\": \"${SONATYPE_USERNAME}\", \"password\": \"${SONATYPE_PASSWORD}\"}"
|
||||||
|
-f \
|
||||||
|
-X \
|
||||||
|
POST "https://api.bintray.com/maven_central_sync/${BINTRAY_SUBJECT}/${BINTRAY_REPO}/${groupId}/versions/${version}" > /dev/null || { echo "Failed to sync" >&2; exit 1; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "Promotion complete"
|
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
source $(dirname $0)/common.sh
|
||||||
|
repository=$(pwd)/distribution-repository
|
||||||
|
|
||||||
|
pushd git-repo > /dev/null
|
||||||
|
git fetch --tags --all > /dev/null
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
git clone git-repo stage-git-repo > /dev/null
|
||||||
|
|
||||||
|
pushd stage-git-repo > /dev/null
|
||||||
|
|
||||||
|
snapshotVersion=$( get_revision_from_pom )
|
||||||
|
if [[ $RELEASE_TYPE = "M" ]]; then
|
||||||
|
stageVersion=$( get_next_milestone_release $snapshotVersion)
|
||||||
|
nextVersion=$snapshotVersion
|
||||||
|
elif [[ $RELEASE_TYPE = "RC" ]]; then
|
||||||
|
stage=$( get_next_rc_release $snapshotVersion)
|
||||||
|
nextVersion=$snapshotVersion
|
||||||
|
elif [[ $RELEASE_TYPE = "RELEASE" ]]; then
|
||||||
|
stage=$( strip_snapshot_suffix $snapshotVersion)
|
||||||
|
nextVersion=$( bump_version_number $snapshotVersion)
|
||||||
|
else
|
||||||
|
echo "Unknown release type $RELEASE_TYPE" >&2; exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Staging $stageVersion (next version will be $nextVersion)"
|
||||||
|
|
||||||
|
set_revision_to_pom "$stageVersion"
|
||||||
|
git config user.name "Spring Buildmaster" > /dev/null
|
||||||
|
git config user.email "buildmaster@springframework.org" > /dev/null
|
||||||
|
git add pom.xml > /dev/null
|
||||||
|
git commit -m"Release v$stageVersion" > /dev/null
|
||||||
|
git tag -a "v$stageVersion" -m"Release v$stageVersion" > /dev/null
|
||||||
|
|
||||||
|
run_maven -f spring-boot-project/pom.xml clean deploy -U -Dfull -DaltDeploymentRepository=distribution::default::file://${repository}
|
||||||
|
run_maven -f spring-boot-tests/spring-boot-sample-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
run_maven -f spring-boot-tests/spring-boot-integration-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
run_maven -f spring-boot-tests/spring-boot-deployment-tests/pom.xml clean install -U -Dfull -Drepository=file://${repository}
|
||||||
|
|
||||||
|
git reset --hard HEAD^ > /dev/null
|
||||||
|
if [[ $nextVersion != $snapshotVersion ]]; then
|
||||||
|
echo "Setting next development version (v$nextVersion)"
|
||||||
|
set_revision_to_pom "$nextVersion"
|
||||||
|
git add pom.xml > /dev/null
|
||||||
|
git commit -m"Next development version (v$nextVersion)" > /dev/null
|
||||||
|
fi;
|
||||||
|
|
||||||
|
echo "DONE"
|
||||||
|
|
||||||
|
popd > /dev/null
|
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
- name: distribution-repository
|
||||||
|
caches:
|
||||||
|
- path: maven
|
||||||
|
- path: gradle
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/build-deployment-tests.sh
|
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
- name: distribution-repository
|
||||||
|
caches:
|
||||||
|
- path: maven
|
||||||
|
- path: gradle
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/build-integration-tests.sh
|
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
outputs:
|
||||||
|
- name: distribution-repository
|
||||||
|
caches:
|
||||||
|
- path: maven
|
||||||
|
- path: gradle
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/build-project.sh
|
@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
- name: distribution-repository
|
||||||
|
caches:
|
||||||
|
- path: maven
|
||||||
|
- path: gradle
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/build-samples.sh
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
- name: artifactory-repo
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/promote.sh
|
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
platform: linux
|
||||||
|
inputs:
|
||||||
|
- name: git-repo
|
||||||
|
outputs:
|
||||||
|
- name: stage-git-repo
|
||||||
|
- name: distribution-repository
|
||||||
|
caches:
|
||||||
|
- path: maven
|
||||||
|
- path: gradle
|
||||||
|
run:
|
||||||
|
path: git-repo/ci/scripts/stage.sh
|
Loading…
Reference in New Issue