From 85b92d3e865d70ae2f253f7e452b9cc449ab45fd Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Tue, 29 Mar 2022 17:37:44 -0400 Subject: [PATCH 1/6] Separating the creation of backend and frontend artifacts into distinct steps --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6a398f51a3..998a0bcc83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -864,6 +864,9 @@ jobs: yarn install --frozen-lockfile --production=true cd .. zip -r /tmp/backend.zip api/* + name: Creaet Frontend Build Artifact Zip + working_directory: ~/project + command: | zip -r /tmp/frontend.zip web/dist/* - run: name: persist build URL to workspace From a6459c517498765be4002d8e9814eeb1deadf50f Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Tue, 29 Mar 2022 17:54:54 -0400 Subject: [PATCH 2/6] Fixing typos --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 998a0bcc83..709e9ef1ac 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -864,7 +864,8 @@ jobs: yarn install --frozen-lockfile --production=true cd .. zip -r /tmp/backend.zip api/* - name: Creaet Frontend Build Artifact Zip + - run: + name: Create Frontend Build Artifact Zip working_directory: ~/project command: | zip -r /tmp/frontend.zip web/dist/* From c56aa818b3b64180048ac25dfd65504aff632335 Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Wed, 30 Mar 2022 09:40:04 -0400 Subject: [PATCH 3/6] Adding build url stuff to preview and troubleshooting info to staging --- .circleci/config.yml | 8 ++++++++ bin/preview-deploy/aws.sh | 2 ++ bin/preview-deploy/aws.user-data.sh | 5 ++++- bin/prod-deploy/aws.user-data.sh | 4 ++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 709e9ef1ac..f495d4fb30 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -566,6 +566,13 @@ jobs: root: ~/project paths: - web/dist + - run: + name: persist build URL to workspace + command: echo "https://${CIRCLE_BUILD_NUM}-${GH_REPO_ID}-gh.circle-artifacts.com/0" > build-url.txt + - persist_to_workspace: + root: ~/project + paths: + - ./build-url.txt # Lints the frontend code. frontend lint: @@ -827,6 +834,7 @@ jobs: --OKTA_CLIENT_ID "$PREVIEW_OKTA_CLIENT_ID" \ --OKTA_API_KEY "$PREVIEW_OKTA_API_KEY" \ --JWT_SECRET "$PREVIEW_JWT_SECRET" \ + --BUILD_URL "$(cat ../../build-url.txt)/backend.zip" \ --MONGO_INITDB_ROOT_USERNAME "$REVIEW_MONGO_INITDB_ROOT_USERNAME" \ --MONGO_INITDB_ROOT_PASSWORD "$PREVIEW_MONGO_INITDB_ROOT_PASSWORD" \ --MONGO_INITDB_DATABASE "$PREVIEW_MONGO_INITDB_DATABASE" \ diff --git a/bin/preview-deploy/aws.sh b/bin/preview-deploy/aws.sh index cbcf0c4643..22fe8c9c25 100755 --- a/bin/preview-deploy/aws.sh +++ b/bin/preview-deploy/aws.sh @@ -153,6 +153,8 @@ function configureUserData() { sed -i'.backup' -e "s|__DATABASE_URL__|`echo $DATABASE_URL`|g" aws.user-data.sh + sed -i'.backup' -e "s|__BUILDURL__|`echo $BUILD_URL`|g" aws.user-data.sh + rm aws.user-data.sh.backup } diff --git a/bin/preview-deploy/aws.user-data.sh b/bin/preview-deploy/aws.user-data.sh index 567acc3e04..d35ca27dac 100644 --- a/bin/preview-deploy/aws.user-data.sh +++ b/bin/preview-deploy/aws.user-data.sh @@ -18,7 +18,7 @@ export MONGO_INITDB_ROOT_PASSWORD="__MONGO_INITDB_ROOT_PASSWORD__" export MONGO_INITDB_DATABASE="__MONGO_INITDB_DATABASE__" export MONGO_DATABASE_USERNAME="__MONGO_DATABASE_USERNAME__" export MONGO_DATABASE_PASSWORD="__MONGO_DATABASE_PASSWORD__" -export DATABASE_URL="__DATABASE_URL" +export DATABASE_URL="__DATABASE_URL__" sudo sh -c "echo license_key: '__NEW_RELIC_LICENSE_KEY__' >> /etc/newrelic-infra.yml" cd ~ mkdir -p /app/api/logs @@ -29,6 +29,9 @@ touch /app/api/logs/Database-migration-out.log touch /app/api/logs/Database-seeding-error.log touch /app/api/logs/Database-seeding-out.log touch /app/api/logs/cms-hitech-apd-api.logs +#Trouble Shooting +echo __BUILDURL__ |tee buildurl.txt +curl -o backend.zip -L __BUILDURL__ # Install nvm. Do it inside the ec2-user home directory so that user will have # access to it forever, just in case we need to get into the machine and diff --git a/bin/prod-deploy/aws.user-data.sh b/bin/prod-deploy/aws.user-data.sh index 10ceb4da0e..e631e6df97 100644 --- a/bin/prod-deploy/aws.user-data.sh +++ b/bin/prod-deploy/aws.user-data.sh @@ -263,8 +263,8 @@ npm i -g pm2 npm i -g yarn@1.22.17 # Get the built API code cd /app -echo __BUILDURL__ -curl -o backend.zip -L __BUILDURL__ +echo __BUILDURL__ |tee /home/ec2-user/buildurl.txt +curl -o backend.zip -L __BUILDURL__ |tee /home/ec2-user/backenddownload.txt unzip backend.zip # rm backend.zip cd api From 251f26f7d4198159f7128bfa1f9de19be5bd88cd Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Wed, 30 Mar 2022 11:01:26 -0400 Subject: [PATCH 4/6] Making Prod user-data script more like Preview --- .circleci/config.yml | 4 +- bin/prod-deploy/aws.sh | 44 ++++++++ bin/prod-deploy/aws.user-data.sh | 170 +++++++++++++++++-------------- 3 files changed, 141 insertions(+), 77 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f495d4fb30..7e19ca1390 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -834,8 +834,8 @@ jobs: --OKTA_CLIENT_ID "$PREVIEW_OKTA_CLIENT_ID" \ --OKTA_API_KEY "$PREVIEW_OKTA_API_KEY" \ --JWT_SECRET "$PREVIEW_JWT_SECRET" \ - --BUILD_URL "$(cat ../../build-url.txt)/backend.zip" \ - --MONGO_INITDB_ROOT_USERNAME "$REVIEW_MONGO_INITDB_ROOT_USERNAME" \ + --BUILD_URL "$(cat ../../build-url.txt)/backend.zip" \ + --MONGO_INITDB_ROOT_USERNAME "$PREVIEW_MONGO_INITDB_ROOT_USERNAME" \ --MONGO_INITDB_ROOT_PASSWORD "$PREVIEW_MONGO_INITDB_ROOT_PASSWORD" \ --MONGO_INITDB_DATABASE "$PREVIEW_MONGO_INITDB_DATABASE" \ --MONGO_DATABASE_USERNAME "$PREVIEW_MONGO_DATABASE_USERNAME" \ diff --git a/bin/prod-deploy/aws.sh b/bin/prod-deploy/aws.sh index 391a8ff76c..4256513a2e 100755 --- a/bin/prod-deploy/aws.sh +++ b/bin/prod-deploy/aws.sh @@ -116,6 +116,50 @@ function deployAPItoEC2() { function addBuildUrlToUserData() { sed -i'.backup' -e "s|__BUILDURL__|`echo $BUILD_URL`|g" aws.user-data.sh + sed -i'.backup' -e "s|__GIT_BRANCH__|\"`echo $BRANCH`\"|g" aws.user-data.sh + + sed -i'.backup' -e "s|__PBKDF2_ITERATIONS__|`echo $API_PBKDF2_ITERATIONS`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__OKTA_DOMAIN__|`echo $OKTA_DOMAIN`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__OKTA_API_KEY__|`echo $OKTA_API_KEY`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__OKTA_CLIENT_ID__|`echo $OKTA_CLIENT_ID`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__OKTA_SERVER_ID__|`echo $OKTA_SERVER_ID`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_ROOT_USERNAME__|`echo $MONGO_INITDB_ROOT_USERNAME`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_ROOT_PASSWORD__|`echo $MONGO_INITDB_ROOT_PASSWORD`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_DATABASE__|`echo $MONGO_INITDB_DATABASE`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_DATABASE_USERNAME__|`echo $MONGO_DATABASE_USERNAME`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_DATABASE_PASSWORD__|`echo $MONGO_DATABASE_PASSWORD`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__JWT_SECRET__|`echo $JWT_SECRET`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_DATABASE__|`echo $MONGO_DATABASE`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_URL__|`echo $MONGO_URL`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_ADMIN_URL__|`echo $MONGO_ADMIN_URL`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__NEW_RELIC_LICENSE_KEY__|`echo $NEW_RELIC_LICENSE_KEY`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_ROOT_USERNAME__|`echo $MONGO_INITDB_ROOT_USERNAME`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_ROOT_PASSWORD__|`echo $MONGO_INITDB_ROOT_PASSWORD`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_INITDB_DATABASE__|`echo $MONGO_INITDB_DATABASE`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_DATABASE_USERNAME__|`echo $MONGO_DATABASE_USERNAME`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__MONGO_DATABASE_PASSWORD__|`echo $MONGO_DATABASE_PASSWORD`|g" aws.user-data.sh + + sed -i'.backup' -e "s|__DATABASE_URL__|`echo $DATABASE_URL`|g" aws.user-data.sh + rm aws.user-data.sh.backup } diff --git a/bin/prod-deploy/aws.user-data.sh b/bin/prod-deploy/aws.user-data.sh index e631e6df97..3921df931f 100644 --- a/bin/prod-deploy/aws.user-data.sh +++ b/bin/prod-deploy/aws.user-data.sh @@ -11,6 +11,101 @@ chmod g+w /app # Oddly, EC2 images don't have git installed. Shruggy person. yum -y install git +# Install New Relic Infrastructure Monitor +curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/el/7/x86_64/newrelic-infra.repo +yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' +yum install newrelic-infra -y + +# Become the default user. Everything between "<> /etc/newrelic-infra.yml" + +# Setup the environment +export OKTA_DOMAIN="__OKTA_DOMAIN__" +export OKTA_SERVER_ID="__OKTA_SERVER_ID__" +export OKTA_CLIENT_ID="__OKTA_CLIENT_ID__" +export OKTA_API_KEY="__OKTA_API_KEY__" +export JWT_SECRET="__JWT_SECRET__" +export MONGO_DATABASE="__MONGO_DATABASE__" +export MONGO_URL="__MONGO_URL__" +export MONGO_ADMIN_URL="__MONGO_ADMIN_URL__" +export MONGO_INITDB_ROOT_USERNAME="__MONGO_INITDB_ROOT_USERNAME__" +export MONGO_INITDB_ROOT_PASSWORD="__MONGO_INITDB_ROOT_PASSWORD__" +export MONGO_INITDB_DATABASE="__MONGO_INITDB_DATABASE__" +export MONGO_DATABASE_USERNAME="__MONGO_DATABASE_USERNAME__" +export MONGO_DATABASE_PASSWORD="__MONGO_DATABASE_PASSWORD__" +export DATABASE_URL="__DATABASE_URL__" + +# Create application logs +mkdir -p /app/api/logs +touch /app/api/logs/eAPD-API-error-0.log +touch /app/api/logs/eAPD-API-out-0.log +touch /app/api/logs/Database-migration-error.log +touch /app/api/logs/Database-migration-out.log +touch /app/api/logs/Database-seeding-error.log +touch /app/api/logs/Database-seeding-out.log +touch /app/api/logs/cms-hitech-apd-api.logs + +# Install nvm. Do it inside the ec2-user home directory so that user will have +# access to it forever, just in case we need to get into the machine and +# manually do some stuff to it. +curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash +source ~/.bashrc + +# We're using Node 16, we care about minor/patch versions +nvm install 16.13.2 +nvm alias default 16.13.2 + +# Install pm2: https://www.npmjs.com/package/pm2 +# This is what'll manage running the API Node app. It'll keep it alive and make +# sure it's running when the EC2 instance restarts. +npm i -g pm2 +npm i -g yarn@1.22.17 +# Get the built API code +###cd /app +###echo __BUILDURL__ |tee /home/ec2-user/buildurl.txt +###curl -o backend.zip -L __BUILDURL__ |tee /home/ec2-user/backenddownload.txt +###unzip backend.zip +### rm backend.zip +git clone --single-branch -b main https://github.com/CMSgov/eAPD.git +mv eAPD/api/* /app/api +cd api +yarn install --frozen-lockfile --production=true +# There are some platform-dependent binaries that need to be rebuilt before +# the knex CLI will work correctly. +yarn rebuild knex +npm i -g newrelic +cp node_modules/newrelic/newrelic.js ./newrelic.js +sed -i 's|My Application|eAPD API|g' newrelic.js +sed -i 's|license key here|__NEW_RELIC_LICENSE_KEY__|g' newrelic.js +sed -i "1 s|^|require('newrelic');\n|" main.js + +# pm2 wants an ecosystem file that describes the apps to run and sets any +# environment variables they need. The environment variables are sensitive, +# so we won't put them here. Instead, the CI/CD process should replace the +# "ECOSYSTEM" placeholder below with a base64-encoded JSON string of an +# ecosystem file. +echo "__ECOSYSTEM__" | base64 --decode > ecosystem.config.js +# Start it up +pm2 start ecosystem.config.js +E_USER + +# Restart New Relic Infrastructure Monitor +systemctl enable newrelic-infra +systemctl start newrelic-infra + +# Setup pm2 to start itself at machine launch, and save its current +# configuration to be restored when it starts +su - ec2-user -c '~/.bash_profile; sudo env PATH=$PATH:/home/ec2-user/.nvm/versions/node/v16.13.2/bin /home/ec2-user/.nvm/versions/node/v16.13.2/lib/node_modules/pm2/bin/pm2 startup systemd -u ec2-user --hp /home/ec2-user' +su - ec2-user -c 'pm2 save' +su - ec2-user -c 'pm2 restart "eAPD API"' + #Install CloudWatch Agent wget https://s3.amazonaws.com/amazoncloudwatch-agent/redhat/amd64/latest/amazon-cloudwatch-agent.rpm @@ -223,78 +318,3 @@ CWAPPLOGCONFIG /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/doc/var-opt.json /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/doc/app-logs.json - -# Install New Relic Infrastructure Monitor -curl -o /etc/yum.repos.d/newrelic-infra.repo https://download.newrelic.com/infrastructure_agent/linux/yum/el/7/x86_64/newrelic-infra.repo -yum -q makecache -y --disablerepo='*' --enablerepo='newrelic-infra' -yum install newrelic-infra -y - -# Become the default user. Everything between "<> /etc/newrelic-infra.yml" -cd ~ -mkdir -p /app/api/logs -touch /app/api/logs/eAPD-API-error-0.log -touch /app/api/logs/eAPD-API-out-0.log -touch /app/api/logs/Database-migration-error.log -touch /app/api/logs/Database-migration-out.log -touch /app/api/logs/Database-seeding-error.log -touch /app/api/logs/Database-seeding-out.log -touch /app/api/logs/cms-hitech-apd-api.logs - -# Install nvm. Do it inside the ec2-user home directory so that user will have -# access to it forever, just in case we need to get into the machine and -# manually do some stuff to it. -curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash -source ~/.bashrc - -# We're using Node 16, we care about minor/patch versions -nvm install 16.13.2 -nvm alias default 16.13.2 - -# Install pm2: https://www.npmjs.com/package/pm2 -# This is what'll manage running the API Node app. It'll keep it alive and make -# sure it's running when the EC2 instance restarts. -npm i -g pm2 -npm i -g yarn@1.22.17 -# Get the built API code -cd /app -echo __BUILDURL__ |tee /home/ec2-user/buildurl.txt -curl -o backend.zip -L __BUILDURL__ |tee /home/ec2-user/backenddownload.txt -unzip backend.zip -# rm backend.zip -cd api -yarn install --frozen-lockfile --production=true -# There are some platform-dependent binaries that need to be rebuilt before -# the knex CLI will work correctly. -yarn rebuild knex - -npm i -g newrelic -cp node_modules/newrelic/newrelic.js ./newrelic.js -sed -i 's|My Application|eAPD API|g' newrelic.js -sed -i 's|license key here|__NEW_RELIC_LICENSE_KEY__|g' newrelic.js -sed -i "1 s|^|require('newrelic');\n|" main.js - -# pm2 wants an ecosystem file that describes the apps to run and sets any -# environment variables they need. The environment variables are sensitive, -# so we won't put them here. Instead, the CI/CD process should replace the -# "ECOSYSTEM" placeholder below with a base64-encoded JSON string of an -# ecosystem file. -echo "__ECOSYSTEM__" | base64 --decode > ecosystem.config.js -# Start it up -pm2 start ecosystem.config.js -E_USER - -# Restart New Relic Infrastructure Monitor -systemctl enable newrelic-infra -systemctl start newrelic-infra - -# Setup pm2 to start itself at machine launch, and save its current -# configuration to be restored when it starts -su - ec2-user -c '~/.bash_profile; sudo env PATH=$PATH:/home/ec2-user/.nvm/versions/node/v16.13.2/bin /home/ec2-user/.nvm/versions/node/v16.13.2/lib/node_modules/pm2/bin/pm2 startup systemd -u ec2-user --hp /home/ec2-user' -su - ec2-user -c 'pm2 save' -su - ec2-user -c 'pm2 restart "eAPD API"' From 42ff382eb7ac964549aabada1364682c63119e44 Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Wed, 30 Mar 2022 11:52:36 -0400 Subject: [PATCH 5/6] Trying to fix Preview Deploy --- .circleci/config.yml | 3 +-- bin/preview-deploy/aws.sh | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7e19ca1390..1ae21f1b8c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -833,8 +833,7 @@ jobs: --OKTA_SERVER_ID "$PREVIEW_OKTA_SERVER_ID" \ --OKTA_CLIENT_ID "$PREVIEW_OKTA_CLIENT_ID" \ --OKTA_API_KEY "$PREVIEW_OKTA_API_KEY" \ - --JWT_SECRET "$PREVIEW_JWT_SECRET" \ - --BUILD_URL "$(cat ../../build-url.txt)/backend.zip" \ + --JWT_SECRET "$PREVIEW_JWT_SECRET" \ --MONGO_INITDB_ROOT_USERNAME "$PREVIEW_MONGO_INITDB_ROOT_USERNAME" \ --MONGO_INITDB_ROOT_PASSWORD "$PREVIEW_MONGO_INITDB_ROOT_PASSWORD" \ --MONGO_INITDB_DATABASE "$PREVIEW_MONGO_INITDB_DATABASE" \ diff --git a/bin/preview-deploy/aws.sh b/bin/preview-deploy/aws.sh index 22fe8c9c25..cbcf0c4643 100755 --- a/bin/preview-deploy/aws.sh +++ b/bin/preview-deploy/aws.sh @@ -153,8 +153,6 @@ function configureUserData() { sed -i'.backup' -e "s|__DATABASE_URL__|`echo $DATABASE_URL`|g" aws.user-data.sh - sed -i'.backup' -e "s|__BUILDURL__|`echo $BUILD_URL`|g" aws.user-data.sh - rm aws.user-data.sh.backup } From 1724cfeebd9e362837aa60d0d99ae1e56fd34aa6 Mon Sep 17 00:00:00 2001 From: cthulhuplus Date: Wed, 30 Mar 2022 13:04:27 -0400 Subject: [PATCH 6/6] Removed excess white space and clearning --- .circleci/config.yml | 2 +- bin/preview-deploy/aws.user-data.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ae21f1b8c..94d67b2ed5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -833,7 +833,7 @@ jobs: --OKTA_SERVER_ID "$PREVIEW_OKTA_SERVER_ID" \ --OKTA_CLIENT_ID "$PREVIEW_OKTA_CLIENT_ID" \ --OKTA_API_KEY "$PREVIEW_OKTA_API_KEY" \ - --JWT_SECRET "$PREVIEW_JWT_SECRET" \ + --JWT_SECRET "$PREVIEW_JWT_SECRET" \ --MONGO_INITDB_ROOT_USERNAME "$PREVIEW_MONGO_INITDB_ROOT_USERNAME" \ --MONGO_INITDB_ROOT_PASSWORD "$PREVIEW_MONGO_INITDB_ROOT_PASSWORD" \ --MONGO_INITDB_DATABASE "$PREVIEW_MONGO_INITDB_DATABASE" \ diff --git a/bin/preview-deploy/aws.user-data.sh b/bin/preview-deploy/aws.user-data.sh index d35ca27dac..d0519f8207 100644 --- a/bin/preview-deploy/aws.user-data.sh +++ b/bin/preview-deploy/aws.user-data.sh @@ -5,6 +5,8 @@ sudo yum install -y gcc-c++ su ec2-user <> /etc/newrelic-infra.yml" -cd ~ + +# Create app logs and directories mkdir -p /app/api/logs touch /app/api/logs/eAPD-API-error-0.log touch /app/api/logs/eAPD-API-out-0.log @@ -29,9 +32,6 @@ touch /app/api/logs/Database-migration-out.log touch /app/api/logs/Database-seeding-error.log touch /app/api/logs/Database-seeding-out.log touch /app/api/logs/cms-hitech-apd-api.logs -#Trouble Shooting -echo __BUILDURL__ |tee buildurl.txt -curl -o backend.zip -L __BUILDURL__ # Install nvm. Do it inside the ec2-user home directory so that user will have # access to it forever, just in case we need to get into the machine and