From c2e9ca12d3bc1f8232c4f8ca40354f961db012bd Mon Sep 17 00:00:00 2001 From: Mark Alston Date: Wed, 30 Aug 2017 13:22:26 -0600 Subject: [PATCH 1/4] Add caches for mvn/gradle resources - in light of concourse 3.3.0 --- concourse/credentials-sample.yml | 1 - concourse/pipeline.yml | 15 --------------- concourse/tasks/build-and-upload.yml | 4 +++- .../tasks/build-api-compatibility-check.yml | 4 +++- concourse/tasks/generate-settings.sh | 19 ++++++++++--------- concourse/tasks/prod-complete.yml | 4 +++- concourse/tasks/prod-deploy.yml | 4 +++- concourse/tasks/stage-deploy.yml | 4 +++- concourse/tasks/stage-e2e.yml | 4 +++- concourse/tasks/test-deploy.yml | 4 +++- concourse/tasks/test-rollback-deploy.yml | 4 +++- concourse/tasks/test-rollback-smoke.yml | 4 +++- concourse/tasks/test-smoke.yml | 4 +++- 13 files changed, 40 insertions(+), 35 deletions(-) diff --git a/concourse/credentials-sample.yml b/concourse/credentials-sample.yml index f5786aea..327e9013 100644 --- a/concourse/credentials-sample.yml +++ b/concourse/credentials-sample.yml @@ -3,7 +3,6 @@ app-url: git@github.com:marcingrzejszczak/github-webhook.git app-branch: master tools-scripts-url: https://github.com/spring-cloud/spring-cloud-pipelines.git tools-branch: master -maven-local-dir: m2/rootfs app-memory-limit: 256m java-buildpack-url: https://github.com/cloudfoundry/java-buildpack.git#v3.8.1 diff --git a/concourse/pipeline.yml b/concourse/pipeline.yml index 15245f57..808b53e2 100644 --- a/concourse/pipeline.yml +++ b/concourse/pipeline.yml @@ -20,11 +20,6 @@ resources: uri: ((tools-scripts-url)) branch: ((tools-branch)) -- name: m2 - type: docker-image - source: - repository: springcloud/spring-pipeline-m2 - jobs: - name: generate-version public: true @@ -48,7 +43,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -71,7 +65,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -89,7 +82,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -109,7 +101,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -128,7 +119,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -148,7 +138,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -167,7 +156,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -187,7 +175,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -206,7 +193,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: @@ -231,7 +217,6 @@ jobs: - aggregate: - get: tools - get: repo - - get: m2 - get: version resource: version passed: diff --git a/concourse/tasks/build-and-upload.yml b/concourse/tasks/build-and-upload.yml index 6199cc44..064c9198 100644 --- a/concourse/tasks/build-and-upload.yml +++ b/concourse/tasks/build-and-upload.yml @@ -8,9 +8,11 @@ inputs: - name: tools - name: repo - name: version - - name: m2 outputs: - name: out +caches: + - path: .gradle/ + - path: .m2/ run: path: /bin/bash args: diff --git a/concourse/tasks/build-api-compatibility-check.yml b/concourse/tasks/build-api-compatibility-check.yml index 19901802..0ec07cf1 100644 --- a/concourse/tasks/build-api-compatibility-check.yml +++ b/concourse/tasks/build-api-compatibility-check.yml @@ -8,9 +8,11 @@ inputs: - name: tools - name: repo - name: version - - name: m2 outputs: - name: out +caches: + - path: .gradle/ + - path: .m2/ run: path: /bin/bash args: diff --git a/concourse/tasks/generate-settings.sh b/concourse/tasks/generate-settings.sh index 5e0958fe..c3d21782 100644 --- a/concourse/tasks/generate-settings.sh +++ b/concourse/tasks/generate-settings.sh @@ -3,16 +3,21 @@ mkdir -p ${HOME}/.m2 mkdir -p ${HOME}/.gradle -ROOT_IN_M2_RESOURCE="${ROOT_FOLDER}/${M2_REPO}/root" -export M2_HOME="${ROOT_IN_M2_RESOURCE}/.m2" -export NEW_LOCAL_REPO="${M2_HOME}/repository/" +# Maven wrapper script downloads the wrapper to $MAVEN_USER_HOME/wrapper +export MAVEN_USER_HOME="${ROOT_FOLDER}/.m2" +mkdir -p ${MAVEN_USER_HOME} -cat > ${HOME}/.m2/settings.xml < ${M2_HOME}/settings.xml < + ${MAVEN_USER_HOME}/repository ${M2_SETTINGS_REPO_ID} @@ -25,7 +30,7 @@ cat > ${HOME}/.m2/settings.xml < Date: Wed, 30 Aug 2017 13:30:10 -0600 Subject: [PATCH 2/4] Remove M2_REPO param --- concourse/pipeline.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/concourse/pipeline.yml b/concourse/pipeline.yml index 808b53e2..9f156d13 100644 --- a/concourse/pipeline.yml +++ b/concourse/pipeline.yml @@ -234,7 +234,6 @@ common-params: &common-params BUILD_OPTIONS: ((build-options)) GIT_EMAIL: ((git-email)) GIT_NAME: ((git-name)) - M2_REPO: ((maven-local-dir)) M2_SETTINGS_REPO_ID: ((m2-settings-repo-id)) M2_SETTINGS_REPO_PASSWORD: ((m2-settings-repo-password)) M2_SETTINGS_REPO_USERNAME: ((m2-settings-repo-username)) From 7dcc2b3676e2f9deaa32a753ad47e676f01da86d Mon Sep 17 00:00:00 2001 From: Mark Alston Date: Thu, 31 Aug 2017 09:39:14 -0600 Subject: [PATCH 3/4] Use symlink for cache instead of setting Maven/Gradle env vars --- concourse/tasks/generate-settings.sh | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/concourse/tasks/generate-settings.sh b/concourse/tasks/generate-settings.sh index c3d21782..4a9cb569 100644 --- a/concourse/tasks/generate-settings.sh +++ b/concourse/tasks/generate-settings.sh @@ -1,23 +1,21 @@ #!/bin/bash -mkdir -p ${HOME}/.m2 -mkdir -p ${HOME}/.gradle +M2_HOME="${HOME}/.m2" +M2_CACHE="${ROOT_FOLDER}/.m2" +GRADLE_HOME="${HOME}/.gradle" +GRADLE_CACHE="${ROOT_FOLDER}/.gradle" -# Maven wrapper script downloads the wrapper to $MAVEN_USER_HOME/wrapper -export MAVEN_USER_HOME="${ROOT_FOLDER}/.m2" -mkdir -p ${MAVEN_USER_HOME} - -export M2_HOME=${HOME}/.m2 +[[ -d $M2_CACHE && ! -d $M2_HOME ]] && ln -s $M2_CACHE $M2_HOME +[[ -d $GRADLE_CACHE && ! -d $GRADLE_HOME ]] && ln -s $GRADLE_CACHE $GRADLE_HOME echo "Writing maven settings to [${M2_HOME}/settings.xml]" -cat > ${M2_HOME}/settings.xml < $M2_HOME/settings.xml < - ${MAVEN_USER_HOME}/repository ${M2_SETTINGS_REPO_ID} @@ -30,11 +28,9 @@ cat > ${M2_HOME}/settings.xml < ${GRADLE_USER_HOME}/gradle.properties < $GRADLE_HOME/gradle.properties < Date: Thu, 31 Aug 2017 10:36:46 -0600 Subject: [PATCH 4/4] Rename hidden folders for caches --- concourse/tasks/build-and-upload.yml | 4 ++-- concourse/tasks/build-api-compatibility-check.yml | 4 ++-- concourse/tasks/generate-settings.sh | 4 ++-- concourse/tasks/prod-complete.yml | 4 ++-- concourse/tasks/prod-deploy.yml | 4 ++-- concourse/tasks/stage-deploy.yml | 4 ++-- concourse/tasks/stage-e2e.yml | 4 ++-- concourse/tasks/test-deploy.yml | 4 ++-- concourse/tasks/test-rollback-deploy.yml | 4 ++-- concourse/tasks/test-rollback-smoke.yml | 4 ++-- concourse/tasks/test-smoke.yml | 4 ++-- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/concourse/tasks/build-and-upload.yml b/concourse/tasks/build-and-upload.yml index 064c9198..3a0cf9d2 100644 --- a/concourse/tasks/build-and-upload.yml +++ b/concourse/tasks/build-and-upload.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/build-api-compatibility-check.yml b/concourse/tasks/build-api-compatibility-check.yml index 0ec07cf1..4d9a31ed 100644 --- a/concourse/tasks/build-api-compatibility-check.yml +++ b/concourse/tasks/build-api-compatibility-check.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/generate-settings.sh b/concourse/tasks/generate-settings.sh index 4a9cb569..080533c8 100644 --- a/concourse/tasks/generate-settings.sh +++ b/concourse/tasks/generate-settings.sh @@ -1,9 +1,9 @@ #!/bin/bash M2_HOME="${HOME}/.m2" -M2_CACHE="${ROOT_FOLDER}/.m2" +M2_CACHE="${ROOT_FOLDER}/maven" GRADLE_HOME="${HOME}/.gradle" -GRADLE_CACHE="${ROOT_FOLDER}/.gradle" +GRADLE_CACHE="${ROOT_FOLDER}/gradle" [[ -d $M2_CACHE && ! -d $M2_HOME ]] && ln -s $M2_CACHE $M2_HOME [[ -d $GRADLE_CACHE && ! -d $GRADLE_HOME ]] && ln -s $GRADLE_CACHE $GRADLE_HOME diff --git a/concourse/tasks/prod-complete.yml b/concourse/tasks/prod-complete.yml index 2ccd796e..5bef87cf 100644 --- a/concourse/tasks/prod-complete.yml +++ b/concourse/tasks/prod-complete.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/prod-deploy.yml b/concourse/tasks/prod-deploy.yml index a9940672..1d73f3f4 100644 --- a/concourse/tasks/prod-deploy.yml +++ b/concourse/tasks/prod-deploy.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/stage-deploy.yml b/concourse/tasks/stage-deploy.yml index a20ad5f4..d38cc3ee 100644 --- a/concourse/tasks/stage-deploy.yml +++ b/concourse/tasks/stage-deploy.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/stage-e2e.yml b/concourse/tasks/stage-e2e.yml index a5f6a649..0cffb32e 100644 --- a/concourse/tasks/stage-e2e.yml +++ b/concourse/tasks/stage-e2e.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/test-deploy.yml b/concourse/tasks/test-deploy.yml index ec78074f..48d1040c 100644 --- a/concourse/tasks/test-deploy.yml +++ b/concourse/tasks/test-deploy.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/test-rollback-deploy.yml b/concourse/tasks/test-rollback-deploy.yml index 3c3a863f..31f189d8 100644 --- a/concourse/tasks/test-rollback-deploy.yml +++ b/concourse/tasks/test-rollback-deploy.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/test-rollback-smoke.yml b/concourse/tasks/test-rollback-smoke.yml index 39b024be..26bb9bf4 100644 --- a/concourse/tasks/test-rollback-smoke.yml +++ b/concourse/tasks/test-rollback-smoke.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: diff --git a/concourse/tasks/test-smoke.yml b/concourse/tasks/test-smoke.yml index b4fa620e..999e64f6 100644 --- a/concourse/tasks/test-smoke.yml +++ b/concourse/tasks/test-smoke.yml @@ -11,8 +11,8 @@ inputs: outputs: - name: out caches: - - path: .gradle/ - - path: .m2/ + - path: gradle + - path: maven run: path: /bin/bash args: