From 574c23ee2fbcefc53beb8a6ada70c1611d00dd78 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Mon, 27 Jul 2020 08:24:42 -0500 Subject: [PATCH 01/25] add aws provider code to GL fork code --- .../build-aws/buildspec.yaml | 41 +++++++++++ .../build-aws/os-core-common.build.json | 73 +++++++++++++++++++ .../os-core-common-aws/maven/settings.xml | 36 +++++++++ 3 files changed, 150 insertions(+) create mode 100644 provider/os-core-common-aws/build-aws/buildspec.yaml create mode 100644 provider/os-core-common-aws/build-aws/os-core-common.build.json create mode 100644 provider/os-core-common-aws/maven/settings.xml diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml new file mode 100644 index 0000000..22feda8 --- /dev/null +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -0,0 +1,41 @@ +# Copyright © Amazon Web Services +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: 0.2 + +phases: + install: + runtime-versions: + java: openjdk8 + commands: + - echo Entered the install phase... + - apt-get update -y + - apt-get install -y maven + - apt-get install -y openjfx + - java -version + - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + - echo $JAVA_HOME + - mkdir -p /root/.m2 + - aws s3 sync s3://$M2_REPO_S3_BUCKET /root/.m2 # copy previous state of the shared libraries' .m2 folder from S3 to local + - cp ./provider/os-core-common-aws/maven/settings.xml /root/.m2/settings.xml # copy Maven settings to the local install + build: + commands: + - mvn test + post_build: + commands: + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + +cache: + paths: + - '/root/.m2/**/*' diff --git a/provider/os-core-common-aws/build-aws/os-core-common.build.json b/provider/os-core-common-aws/build-aws/os-core-common.build.json new file mode 100644 index 0000000..de3179c --- /dev/null +++ b/provider/os-core-common-aws/build-aws/os-core-common.build.json @@ -0,0 +1,73 @@ +{ + "name": "os-core-common", + "description": "Build of the os-delivery repository", + "source": { + "type": "CODECOMMIT", + "location": "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/os-core-common", + "gitCloneDepth": 1, + "gitSubmodulesConfig": { + "fetchSubmodules": false + }, + "buildspec": "./provider/os-core-common-aws/build-aws/buildspec.yaml", + "insecureSsl": false + }, + "secondarySources": [], + "sourceVersion": "refs/heads/dev", + "secondarySourceVersions": [], + "artifacts": { + "type": "S3", + "location": "888733619319-devops-build-artifacts", + "path": "os-core-common", + "namespaceType": "NONE", + "name": "os-core-common", + "packaging": "NONE", + "overrideArtifactName": true, + "encryptionDisabled": false + }, + "secondaryArtifacts": [], + "cache": { + "type": "LOCAL", + "modes": [ + "LOCAL_CUSTOM_CACHE" + ] + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:2.0", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + { + "name": "M2_REPO_S3_BUCKET", + "value": "dev-888733619319-persistent-maven-m2-bucket", + "type": "PLAINTEXT" + } + ], + "privilegedMode": true, + "imagePullCredentialsType": "CODEBUILD" + }, + "serviceRole": "arn:aws:iam::888733619319:role/service-role/dev-CodeBuildRole", + "timeoutInMinutes": 60, + "queuedTimeoutInMinutes": 480, + "encryptionKey": "arn:aws:kms:us-east-1:888733619319:alias/aws/s3", + "tags": [], + "vpcConfig": { + "vpcId": "vpc-0f273733df61bc541", + "subnets": [ + "subnet-03963a50e77043e12", + "subnet-04a975f0e6e0c9279" + ], + "securityGroupIds": [ + "sg-0dee4e811c2062e26" + ] + }, + "badgeEnabled": true, + "logsConfig": { + "cloudWatchLogs": { + "status": "ENABLED" + }, + "s3Logs": { + "status": "DISABLED", + "encryptionDisabled": false + } + } +} diff --git a/provider/os-core-common-aws/maven/settings.xml b/provider/os-core-common-aws/maven/settings.xml new file mode 100644 index 0000000..1626e87 --- /dev/null +++ b/provider/os-core-common-aws/maven/settings.xml @@ -0,0 +1,36 @@ + + + + + + credentialsConfiguration + + true + + + dev + no-default + no-default + Another-Access-Token-2021 + no-default + + + + + + + + os-core + ${azure.devops.username} + + ${azure.devops.token} + + + + + credentialsConfiguration + + + -- GitLab From 69cc4f88cf727b216642deef095c7157483c4a3e Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Mon, 27 Jul 2020 12:49:53 -0500 Subject: [PATCH 02/25] update buildspec to sync back to s3 --- provider/os-core-common-aws/build-aws/buildspec.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 22feda8..b567021 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -35,6 +35,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 cache: paths: -- GitLab From d78722ee3b076ba1a82c0f86b3c1583e2c8cfac8 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 13:55:04 -0500 Subject: [PATCH 03/25] work on deploying to AWS mvn repo --- pom.xml | 4 ++ .../build-aws/buildspec.yaml | 7 ++- .../os-core-common-aws/maven/settings.xml | 45 ++++++++++++++++--- 3 files changed, 50 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 7e5bb34..75cc098 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,11 @@ org.opengroup.osdu os-core-common +<<<<<<< HEAD 0.3.5 +======= + 0.3.4-MATT +>>>>>>> e581291... work on deploying to AWS mvn repo jar diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index b567021..94f01b5 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -27,14 +27,19 @@ phases: - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - echo $JAVA_HOME - mkdir -p /root/.m2 + #get rid of s3 when no longer needed - aws s3 sync s3://$M2_REPO_S3_BUCKET /root/.m2 # copy previous state of the shared libraries' .m2 folder from S3 to local - cp ./provider/os-core-common-aws/maven/settings.xml /root/.m2/settings.xml # copy Maven settings to the local install + # Get the AWS Maven Auth Token + - export AWS_OSDU_DEV_MAVEN_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain osdu-dev --domain-owner 888733619319 --query authorizationToken --output text` build: commands: - mvn test post_build: commands: - - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used + - mvn deploy:deploy -DaltDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} + - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 cache: diff --git a/provider/os-core-common-aws/maven/settings.xml b/provider/os-core-common-aws/maven/settings.xml index 1626e87..c3a178d 100644 --- a/provider/os-core-common-aws/maven/settings.xml +++ b/provider/os-core-common-aws/maven/settings.xml @@ -1,9 +1,37 @@ + + + + aws-osdu-dev-maven + + true + + + + aws-osdu-dev-maven + ${env.AWS_OSDU_DEV_MAVEN_URL} + + + credentialsConfiguration @@ -20,15 +48,22 @@ - - os-core - ${azure.devops.username} - - ${azure.devops.token} + aws-osdu-dev-maven + aws + ${env.AWS_OSDU_DEV_MAVEN_AUTH_TOKEN} + + + aws-osdu-dev-maven + aws-osdu-dev-maven + ${env.AWS_OSDU_DEV_MAVEN_URL} + * + + + credentialsConfiguration -- GitLab From 52ea7d961704073e0037306133efb428c587a948 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 14:33:53 -0500 Subject: [PATCH 04/25] use corretto 8 runtime to build --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 94f01b5..f995a3c 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -17,7 +17,7 @@ version: 0.2 phases: install: runtime-versions: - java: openjdk8 + java: corretto8 commands: - echo Entered the install phase... - apt-get update -y -- GitLab From 924d6f8f28d9500710aacb793be0409c1ef6b7a6 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 14:55:42 -0500 Subject: [PATCH 05/25] dont manually set java_home --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index f995a3c..e5b4e17 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -24,7 +24,7 @@ phases: - apt-get install -y maven - apt-get install -y openjfx - java -version - - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + # - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - echo $JAVA_HOME - mkdir -p /root/.m2 #get rid of s3 when no longer needed -- GitLab From e717331b272d7360a6c1f54fed34ff52254ae17f Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 17:01:03 -0500 Subject: [PATCH 06/25] use proper syntax for deploy --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index e5b4e17..36fb832 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -38,7 +38,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - - mvn deploy:deploy -DaltDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} + - mvn deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 -- GitLab From ecf2771f9aea536ce822effa3356beb04cabced9 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 17:12:16 -0500 Subject: [PATCH 07/25] create jar before deloying --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 36fb832..b5fcbfa 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -38,7 +38,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - - mvn deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} + - mvn package deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 -- GitLab From 48a0135950d8ee9461c1228a8ab4295101fe0457 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 17:14:47 -0500 Subject: [PATCH 08/25] reset version --- pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pom.xml b/pom.xml index 75cc098..7e5bb34 100644 --- a/pom.xml +++ b/pom.xml @@ -6,11 +6,7 @@ org.opengroup.osdu os-core-common -<<<<<<< HEAD 0.3.5 -======= - 0.3.4-MATT ->>>>>>> e581291... work on deploying to AWS mvn repo jar -- GitLab From 3fca7a0d7d6fd46dbb5bee66787155f5a3072af4 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Fri, 31 Jul 2020 16:20:52 -0500 Subject: [PATCH 09/25] work on publishing SNAPSHOT packages for branch builds --- .../build-aws/buildspec.yaml | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index b5fcbfa..3f794b5 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -14,11 +14,15 @@ version: 0.2 +env: + variables: + RELEASE_BRANCHES: "master, dev" phases: install: runtime-versions: java: corretto8 commands: + - if [ $(echo $CODEBUILD_SOURCE_VERSION | grep -c ^refs/heads.*) -eq 1 ]; then echo "Branch name found"; else echo "This build only supports branch builds" && exit 1; fi - echo Entered the install phase... - apt-get update -y - apt-get install -y maven @@ -36,7 +40,21 @@ phases: commands: - mvn test post_build: - commands: + commands: + + - export BASE_PACKAGE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) + + - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` + + - | + if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; + else + export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-${BRANCH_NAME}-SNAPSHOT; + fi + + - mvn versions:set -DnewVersion="${BUILD_PACKAGE_VERSION}" #Set the version to publish to maven for this build + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - mvn package deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -- GitLab From 3aa5f87876e5f059230f8f49cc0baab33aba49e2 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Fri, 31 Jul 2020 16:31:15 -0500 Subject: [PATCH 10/25] move POM version set to pre_build stage --- .../os-core-common-aws/build-aws/buildspec.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 3f794b5..c9c89b6 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -36,11 +36,10 @@ phases: - cp ./provider/os-core-common-aws/maven/settings.xml /root/.m2/settings.xml # copy Maven settings to the local install # Get the AWS Maven Auth Token - export AWS_OSDU_DEV_MAVEN_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain osdu-dev --domain-owner 888733619319 --query authorizationToken --output text` - build: + + pre_build: commands: - - mvn test - post_build: - commands: + ### This section sets the version for the POM based on branch/release info - export BASE_PACKAGE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) @@ -54,7 +53,14 @@ phases: fi - mvn versions:set -DnewVersion="${BUILD_PACKAGE_VERSION}" #Set the version to publish to maven for this build - + + ### End POM Version Section + build: + commands: + - mvn test + post_build: + commands: + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - mvn package deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -- GitLab From 096706eef41eb88f2d78620590000af9ecdb115b Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Mon, 27 Jul 2020 08:24:42 -0500 Subject: [PATCH 11/25] add aws provider code to GL fork code --- .../build-aws/buildspec.yaml | 41 +++++++++++ .../build-aws/os-core-common.build.json | 73 +++++++++++++++++++ .../os-core-common-aws/maven/settings.xml | 36 +++++++++ 3 files changed, 150 insertions(+) create mode 100644 provider/os-core-common-aws/build-aws/buildspec.yaml create mode 100644 provider/os-core-common-aws/build-aws/os-core-common.build.json create mode 100644 provider/os-core-common-aws/maven/settings.xml diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml new file mode 100644 index 0000000..22feda8 --- /dev/null +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -0,0 +1,41 @@ +# Copyright © Amazon Web Services +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: 0.2 + +phases: + install: + runtime-versions: + java: openjdk8 + commands: + - echo Entered the install phase... + - apt-get update -y + - apt-get install -y maven + - apt-get install -y openjfx + - java -version + - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + - echo $JAVA_HOME + - mkdir -p /root/.m2 + - aws s3 sync s3://$M2_REPO_S3_BUCKET /root/.m2 # copy previous state of the shared libraries' .m2 folder from S3 to local + - cp ./provider/os-core-common-aws/maven/settings.xml /root/.m2/settings.xml # copy Maven settings to the local install + build: + commands: + - mvn test + post_build: + commands: + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + +cache: + paths: + - '/root/.m2/**/*' diff --git a/provider/os-core-common-aws/build-aws/os-core-common.build.json b/provider/os-core-common-aws/build-aws/os-core-common.build.json new file mode 100644 index 0000000..de3179c --- /dev/null +++ b/provider/os-core-common-aws/build-aws/os-core-common.build.json @@ -0,0 +1,73 @@ +{ + "name": "os-core-common", + "description": "Build of the os-delivery repository", + "source": { + "type": "CODECOMMIT", + "location": "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/os-core-common", + "gitCloneDepth": 1, + "gitSubmodulesConfig": { + "fetchSubmodules": false + }, + "buildspec": "./provider/os-core-common-aws/build-aws/buildspec.yaml", + "insecureSsl": false + }, + "secondarySources": [], + "sourceVersion": "refs/heads/dev", + "secondarySourceVersions": [], + "artifacts": { + "type": "S3", + "location": "888733619319-devops-build-artifacts", + "path": "os-core-common", + "namespaceType": "NONE", + "name": "os-core-common", + "packaging": "NONE", + "overrideArtifactName": true, + "encryptionDisabled": false + }, + "secondaryArtifacts": [], + "cache": { + "type": "LOCAL", + "modes": [ + "LOCAL_CUSTOM_CACHE" + ] + }, + "environment": { + "type": "LINUX_CONTAINER", + "image": "aws/codebuild/standard:2.0", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + { + "name": "M2_REPO_S3_BUCKET", + "value": "dev-888733619319-persistent-maven-m2-bucket", + "type": "PLAINTEXT" + } + ], + "privilegedMode": true, + "imagePullCredentialsType": "CODEBUILD" + }, + "serviceRole": "arn:aws:iam::888733619319:role/service-role/dev-CodeBuildRole", + "timeoutInMinutes": 60, + "queuedTimeoutInMinutes": 480, + "encryptionKey": "arn:aws:kms:us-east-1:888733619319:alias/aws/s3", + "tags": [], + "vpcConfig": { + "vpcId": "vpc-0f273733df61bc541", + "subnets": [ + "subnet-03963a50e77043e12", + "subnet-04a975f0e6e0c9279" + ], + "securityGroupIds": [ + "sg-0dee4e811c2062e26" + ] + }, + "badgeEnabled": true, + "logsConfig": { + "cloudWatchLogs": { + "status": "ENABLED" + }, + "s3Logs": { + "status": "DISABLED", + "encryptionDisabled": false + } + } +} diff --git a/provider/os-core-common-aws/maven/settings.xml b/provider/os-core-common-aws/maven/settings.xml new file mode 100644 index 0000000..1626e87 --- /dev/null +++ b/provider/os-core-common-aws/maven/settings.xml @@ -0,0 +1,36 @@ + + + + + + credentialsConfiguration + + true + + + dev + no-default + no-default + Another-Access-Token-2021 + no-default + + + + + + + + os-core + ${azure.devops.username} + + ${azure.devops.token} + + + + + credentialsConfiguration + + + -- GitLab From 08833061ab23b8babba0a2b68564702b0cf8361c Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Mon, 27 Jul 2020 12:49:53 -0500 Subject: [PATCH 12/25] update buildspec to sync back to s3 --- provider/os-core-common-aws/build-aws/buildspec.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 22feda8..b567021 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -35,6 +35,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 cache: paths: -- GitLab From cdbddbb646d9a98cda729f2b1e7708e6b9112005 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 13:55:04 -0500 Subject: [PATCH 13/25] work on deploying to AWS mvn repo --- .../build-aws/buildspec.yaml | 7 ++- .../os-core-common-aws/maven/settings.xml | 45 ++++++++++++++++--- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index b567021..94f01b5 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -27,14 +27,19 @@ phases: - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - echo $JAVA_HOME - mkdir -p /root/.m2 + #get rid of s3 when no longer needed - aws s3 sync s3://$M2_REPO_S3_BUCKET /root/.m2 # copy previous state of the shared libraries' .m2 folder from S3 to local - cp ./provider/os-core-common-aws/maven/settings.xml /root/.m2/settings.xml # copy Maven settings to the local install + # Get the AWS Maven Auth Token + - export AWS_OSDU_DEV_MAVEN_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain osdu-dev --domain-owner 888733619319 --query authorizationToken --output text` build: commands: - mvn test post_build: commands: - - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT + - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used + - mvn deploy:deploy -DaltDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} + - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 cache: diff --git a/provider/os-core-common-aws/maven/settings.xml b/provider/os-core-common-aws/maven/settings.xml index 1626e87..c3a178d 100644 --- a/provider/os-core-common-aws/maven/settings.xml +++ b/provider/os-core-common-aws/maven/settings.xml @@ -1,9 +1,37 @@ + + + + aws-osdu-dev-maven + + true + + + + aws-osdu-dev-maven + ${env.AWS_OSDU_DEV_MAVEN_URL} + + + credentialsConfiguration @@ -20,15 +48,22 @@ - - os-core - ${azure.devops.username} - - ${azure.devops.token} + aws-osdu-dev-maven + aws + ${env.AWS_OSDU_DEV_MAVEN_AUTH_TOKEN} + + + aws-osdu-dev-maven + aws-osdu-dev-maven + ${env.AWS_OSDU_DEV_MAVEN_URL} + * + + + credentialsConfiguration -- GitLab From 46d1d82afebe5582eb06205d11d2a3a38d8c289b Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 14:33:53 -0500 Subject: [PATCH 14/25] use corretto 8 runtime to build --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 94f01b5..f995a3c 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -17,7 +17,7 @@ version: 0.2 phases: install: runtime-versions: - java: openjdk8 + java: corretto8 commands: - echo Entered the install phase... - apt-get update -y -- GitLab From 147518eba73bc0123fbd6252f41b95de71b02a86 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 14:55:42 -0500 Subject: [PATCH 15/25] dont manually set java_home --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index f995a3c..e5b4e17 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -24,7 +24,7 @@ phases: - apt-get install -y maven - apt-get install -y openjfx - java -version - - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 + # - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 - echo $JAVA_HOME - mkdir -p /root/.m2 #get rid of s3 when no longer needed -- GitLab From 887448dc32d12913a8c09a9c9b1d1c4aadc7716a Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 17:01:03 -0500 Subject: [PATCH 16/25] use proper syntax for deploy --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index e5b4e17..36fb832 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -38,7 +38,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - - mvn deploy:deploy -DaltDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=${AWS_OSDU_DEV_MAVEN_URL} + - mvn deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 -- GitLab From c12bb4c054877bd5bff19dd3da0ad490403aaaaa Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Thu, 30 Jul 2020 17:12:16 -0500 Subject: [PATCH 17/25] create jar before deloying --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 36fb832..b5fcbfa 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -38,7 +38,7 @@ phases: post_build: commands: - mvn clean install -e -Ddeployment.environment=$ENVIRONMENT #replace with package when s3 no longer used - - mvn deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} + - mvn package deploy:deploy -DaltDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltReleaseDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} -DaltSnapshotDeploymentRepository=aws-osdu-dev-maven::default::${AWS_OSDU_DEV_MAVEN_URL} - aws s3 sync /root/.m2 s3://$M2_REPO_S3_BUCKET # sync the latest .m2 changes of the common code back into S3 -- GitLab From 25bdb83b885838ba19d42678c859350f90e8b0f5 Mon Sep 17 00:00:00 2001 From: Srihari Prabaharan Date: Tue, 4 Aug 2020 09:40:45 -0400 Subject: [PATCH 18/25] Update os-core-common.build.json by adding AWS_OSDU_DEV_MAVEN_URL environment variable --- .../os-core-common-aws/build-aws/os-core-common.build.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/provider/os-core-common-aws/build-aws/os-core-common.build.json b/provider/os-core-common-aws/build-aws/os-core-common.build.json index de3179c..d5581af 100644 --- a/provider/os-core-common-aws/build-aws/os-core-common.build.json +++ b/provider/os-core-common-aws/build-aws/os-core-common.build.json @@ -40,6 +40,11 @@ "name": "M2_REPO_S3_BUCKET", "value": "dev-888733619319-persistent-maven-m2-bucket", "type": "PLAINTEXT" + }, + { + "name": "AWS_OSDU_DEV_MAVEN_URL", + "value": "https://osdu-dev-888733619319.d.codeartifact.us-east-1.amazonaws.com/maven/osdu-maven/", + "type": "PLAINTEXT" } ], "privilegedMode": true, -- GitLab From 9e0fc8ac6160167931f4b60556440ecca1ee867c Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 13:02:52 -0500 Subject: [PATCH 19/25] suport release snapshot branches --- provider/os-core-common-aws/build-aws/buildspec.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index c9c89b6..bf45cb4 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -16,7 +16,8 @@ version: 0.2 env: variables: - RELEASE_BRANCHES: "master, dev" + RELEASE_BRANCHES: "master, release/v0.2.0" + RELEASE_SNAPSHOT_BRANCHES: "dev" phases: install: runtime-versions: @@ -48,6 +49,8 @@ phases: - | if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; + elif ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + export RELEASE_SNAPSHOT_BRANCHES=${BASE_PACKAGE_VERSION}-SNAPSHOT; else export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-${BRANCH_NAME}-SNAPSHOT; fi -- GitLab From 92bc4a9f6404b98097e3f9b47125139ba9fa4bbf Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 13:37:57 -0500 Subject: [PATCH 20/25] fix elif snapshot branch --- provider/os-core-common-aws/build-aws/buildspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index bf45cb4..d7e04b1 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -49,8 +49,8 @@ phases: - | if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; - elif ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then - export RELEASE_SNAPSHOT_BRANCHES=${BASE_PACKAGE_VERSION}-SNAPSHOT; + elif ( echo ${RELEASE_SNAPSHOT_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-SNAPSHOT; else export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-${BRANCH_NAME}-SNAPSHOT; fi -- GitLab From 3d631e144590a395b2890e7e041d1ac1345b7eaa Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 13:57:35 -0500 Subject: [PATCH 21/25] add echos for version type --- provider/os-core-common-aws/build-aws/buildspec.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index d7e04b1..11247c3 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -45,13 +45,18 @@ phases: - export BASE_PACKAGE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` + + - echo Building on Branch: ${BRANCH_NAME} - | if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + echo Building Release Version; export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; elif ( echo ${RELEASE_SNAPSHOT_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + echo Building Release Snapshot Version; export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-SNAPSHOT; else + echo Building Branch Snapshot Version; export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-${BRANCH_NAME}-SNAPSHOT; fi -- GitLab From 588ed74320252af6cadd460dda53164cee9ed598 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 14:01:48 -0500 Subject: [PATCH 22/25] remove whitespace --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 11247c3..7751ec7 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -45,7 +45,7 @@ phases: - export BASE_PACKAGE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` - + - echo Building on Branch: ${BRANCH_NAME} - | -- GitLab From 9bd0a5b01533aecc5f9dc0b9db81003a8e556c66 Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 14:03:30 -0500 Subject: [PATCH 23/25] fix whitespace --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 7751ec7..11247c3 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -45,7 +45,7 @@ phases: - export BASE_PACKAGE_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout) - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` - + - echo Building on Branch: ${BRANCH_NAME} - | -- GitLab From 505e43f4c2e63e24a4d99194d05c8c6797bddb5f Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 14:06:31 -0500 Subject: [PATCH 24/25] remove extra echo --- provider/os-core-common-aws/build-aws/buildspec.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 11247c3..1322511 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -46,8 +46,6 @@ phases: - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` - - echo Building on Branch: ${BRANCH_NAME} - - | if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then echo Building Release Version; -- GitLab From 95d8c7b94ba0d344e3487817c354b0916755504e Mon Sep 17 00:00:00 2001 From: Matt Wise Date: Tue, 4 Aug 2020 14:31:31 -0500 Subject: [PATCH 25/25] fix issue where braces in if statements cause issue in sh version used by CodeBuild --- provider/os-core-common-aws/build-aws/buildspec.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/os-core-common-aws/build-aws/buildspec.yaml b/provider/os-core-common-aws/build-aws/buildspec.yaml index 1322511..b3ab976 100644 --- a/provider/os-core-common-aws/build-aws/buildspec.yaml +++ b/provider/os-core-common-aws/build-aws/buildspec.yaml @@ -47,10 +47,10 @@ phases: - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` - | - if ( echo ${RELEASE_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + if ( echo $RELEASE_BRANCHES[@] | fgrep -w -q $BRANCH_NAME ); then echo Building Release Version; - export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; - elif ( echo ${RELEASE_SNAPSHOT_BRANCHES[@]} | fgrep -w -q $BRANCH_NAME ); then + export BUILD_PACKAGE_VERSION=$BASE_PACKAGE_VERSION; + elif ( echo $RELEASE_SNAPSHOT_BRANCHES[@] | fgrep -w -q $BRANCH_NAME ); then echo Building Release Snapshot Version; export BUILD_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}-SNAPSHOT; else -- GitLab