From d1650f535a32de1e20741a89cb5d54c4a9dc1002 Mon Sep 17 00:00:00 2001 From: Winona Salesky Date: Wed, 31 Jul 2024 14:12:24 -0400 Subject: [PATCH] Update workflow.sh to correctly populate git-sync --- build/workflow.sh | 73 ++++++++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/build/workflow.sh b/build/workflow.sh index c8205e318..5b65b0245 100755 --- a/build/workflow.sh +++ b/build/workflow.sh @@ -1,6 +1,28 @@ GITHUB_ORG="VandyVRC" GITHUB_REPOSITORY="tcadrt" +### CREATE NECESSARY CONFIG FOR THE BUILD, AND POPULATE VERSION AND PACKAGE_NAME +# use sed to replace the template git-sync with secrets and other +# Application git-sync +TEMPLATE_FILE="./build/git-sync_template.xql" +DESTINATION_FILE="./modules/git-sync.xql" + +echo "Copying secret key over" +# SECRET_KEY, $ADMIN_PASSWORD +sed \ + -e "s/\${SECRET_KEY}/$SECRET_KEY/" \ + $TEMPLATE_FILE > $DESTINATION_FILE +echo "Copied secret key over successfully - app directory" + +# GET the version of the project from the expath-pkg.xml +VERSION=$(cat expath-pkg.xml | grep package | grep version= | awk -F'version="' '{ print $2 }' | awk -F'"' '{ print $1 }') +# GET the package name of the project from the expath-pkg.xml file +PACKAGE_NAME=$(cat expath-pkg.xml | grep package | grep version= | awk -F'abbrev="' '{ print $2 }' | awk -F'"' '{ print tolower($1) }') +echo "Deploying app $PACKAGE_NAME:$VERSION" + + +### BUILD THE APPLICATION AND DATA THAT USES CONFIGS FROM THE PREV STEP A +# remove any old auto deploy rm -rf autodeploy # create an autodeploy folder mkdir autodeploy @@ -10,9 +32,22 @@ ant echo "Ran app build successfully" echo "Fetching the data repository to build a data xar" -git clone https://github.com/$GITHUB_ORG/$GITHUB_REPOSITORY +git clone https://github.com/$GITHUB_ORG/$GITHUB_REPOSITORY --branch master --single-branch cd $GITHUB_REPOSITORY +### CREATE NECESSARY CONFIG FOR THE BUILD, AND POPULATE VERSION AND PACKAGE_NAME +# use sed to replace the template git-sync with secrets and other +# Application git-sync +TEMPLATE_FILE="./build/git-sync_template.xql" +DESTINATION_FILE="./modules/git-sync.xql" + +echo "Copying secret key over" +# SECRET_KEY, $ADMIN_PASSWORD +sed \ + -e "s/\${SECRET_KEY}/$SECRET_KEY/" \ + $TEMPLATE_FILE > $DESTINATION_FILE +echo "Copied secret key over successfully - data directory" + rm -rf build mkdir build echo "Running data build ..." @@ -20,48 +55,22 @@ ant echo "Ran data build successfully" cd .. -# remove any old auto deploy -#rm -rf autodeploy -# create an autodeploy folder -#mkdir autodeploy - -#echo "Running app build ..." -#ant -#echo "Ran app build successfully" - - # move the xar from build to autodeploy mv build/*.xar autodeploy/ mv $GITHUB_REPOSITORY/build/*.xar autodeploy/ - rm -rf $GITHUB_REPOSITORY -# use sed to replace the template git-sync with secrets and other -TEMPLATE_FILE="./build/git-sync_template.xql" -DESTINATION_FILE="./conf/git-sync.xql" - -echo "Copying secret key over" -# SECRET_KEY, $ADMIN_PASSWORD -sed \ - -e "s/\${SECRET_KEY}/$SECRET_KEY/" \ - $TEMPLATE_FILE > $DESTINATION_FILE -echo "Copied secret key over successfully" - -# GET the version of the project from the expath-pkg.xml -VERSION=$(cat expath-pkg.xml | grep package | grep version= | awk -F'version="' '{ print $2 }' | awk -F'"' '{ print $1 }') -# GET the package name of the project from the expath-pkg.xml file -PACKAGE_NAME=$(cat expath-pkg.xml | grep package | grep version= | awk -F'abbrev="' '{ print $2 }' | awk -F'"' '{ print tolower($1) }') - -echo "Deploying app $PACKAGE_NAME:$VERSION" - +### BUILD DOCKER WITH THE APPLICATION AND DATA XAR FILE echo "Building docker file" docker build -t "$PACKAGE_NAME:$VERSION" --build-arg ADMIN_PASSWORD="$ADMIN_PASSWORD" --no-cache . echo docker build -t "$PACKAGE_NAME:$VERSION" --build-arg ADMIN_PASSWORD="$ADMIN_PASSWORD" --no-cache . echo "Built successfully" -DOCKER_URL=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPOSITORY:latest +DOCKER_URL=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/$ECR_REPOSITORY +:latest +### UPLOAD TO ECR echo "Loging in to AWS" # Get the aws docker login creds. Note: only works if the github repo is allowed access from OIDC aws ecr get-login-password --region $AWS_REGION | \ @@ -72,4 +81,4 @@ docker tag $PACKAGE_NAME:$VERSION $DOCKER_URL echo "Pushing to $DOCKER_URL" docker push $DOCKER_URL -echo "Pushed successfully, wait for a few minutes to see the changes reflected" +echo "Pushed successfully, wait for a few minutes to see the changes reflected" \ No newline at end of file