From 15b33e5f938fa8f148840560c3cb2401c4093af2 Mon Sep 17 00:00:00 2001 From: Duong Pham Date: Mon, 31 Aug 2020 10:50:10 +0700 Subject: [PATCH] chore: #2519 deprecated old script deploy dev --- .github/workflows/release.yml | 16 +---- scripts/release/release.js | 25 +------- scripts/release/utils.js | 113 +--------------------------------- 3 files changed, 7 insertions(+), 147 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a24920bda7..aa0cd8faf3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,14 +45,6 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{secrets.AWS_REGION}} - - name: Configure AWS credentials if staging environment - uses: aws-actions/configure-aws-credentials@v1 - if: ${{ github.event.client_payload.environment == 'staging' }} - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{secrets.AWS_REGION}} - - name: Configure AWS credentials if production environment uses: aws-actions/configure-aws-credentials@v1 if: ${{ github.event.client_payload.environment == 'production' }} @@ -61,13 +53,7 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }} aws-region: ${{secrets.AWS_REGION}} - - name: Fetch config if staging - if: ${{ github.event.client_payload.environment == 'staging' }} - run: | - yarn fetch-config --name production - - - name: Fetch config if not staging - if: ${{ github.event.client_payload.environment != 'staging' }} + - name: Fetch config run: | yarn fetch-config --name ${{ github.event.client_payload.environment }} diff --git a/scripts/release/release.js b/scripts/release/release.js index 955e9a222c..445aaf038b 100644 --- a/scripts/release/release.js +++ b/scripts/release/release.js @@ -1,10 +1,8 @@ const { releaseWebApp, - releaseNewWebApp, sendMessageToSlack, releaseNpm, releaseServerless, - BUCKET_NAMES, SERVERLESS_APPS, NPM_APPS, WEB_APPS, @@ -15,8 +13,6 @@ const release = async () => { const env = args[0] const packageName = args[1] const currentTag = args[2] - // Get Bucket name - const bucketName = BUCKET_NAMES && BUCKET_NAMES[env] && BUCKET_NAMES[env][packageName] const isValidParams = !!packageName && !!currentTag if (!isValidParams) { console.error('release params is not valid for packageName or currentTag or previousTag') @@ -48,21 +44,7 @@ const release = async () => { console.error('release params is not valid for packageName or currentTag or previousTag') process.exit(1) } - releaseNewWebApp({ tagName: currentTag, packageName, env }) - } catch (err) { - await sendMessageToSlack(`Deploy \`${packageName}\` version \`${currentTag}\` failed`) - throw new Error(err) - } - } - - if (WEB_APPS.includes(packageName) && env === 'staging') { - try { - const isValidWebApp = isValidParams && !!env && !!bucketName - if (!isValidWebApp) { - console.error('release params is not valid for packageName or currentTag or previousTag') - process.exit(1) - } - releaseWebApp({ tagName: currentTag, bucketName, packageName, env }) + releaseWebApp({ tagName: currentTag, packageName, env }) } catch (err) { await sendMessageToSlack(`Deploy \`${packageName}\` version \`${currentTag}\` failed`) throw new Error(err) @@ -71,13 +53,12 @@ const release = async () => { if (WEB_APPS.includes(packageName) && env === 'development') { try { - const isValidWebApp = isValidParams && !!env && !!bucketName + const isValidWebApp = isValidParams && !!env if (!isValidWebApp) { console.error('release params is not valid for packageName or currentTag or previousTag') process.exit(1) } - releaseWebApp({ tagName: currentTag, bucketName, packageName, env }) - releaseNewWebApp({ tagName: currentTag, packageName, env }) + releaseWebApp({ tagName: currentTag, packageName, env }) } catch (err) { await sendMessageToSlack(`Deploy \`${packageName}\` version \`${currentTag}\` failed`) throw new Error(err) diff --git a/scripts/release/utils.js b/scripts/release/utils.js index 94bb782d9c..3fd638dea0 100644 --- a/scripts/release/utils.js +++ b/scripts/release/utils.js @@ -100,60 +100,14 @@ const runTestCyPress = async ({ packageName, tagName, env }) => { await sendMessageToSlack(`Finish testing cypress for web app \`${packageName}\` with version \`${tagName}\``) } -/** - * @deprecated - * This function will be remove after finish migration to new cloud - */ -const syncFromLocalDistToS3Bucket = ({ bucketName, packageName }) => { - try { - const distPath = `${process.cwd()}/packages/${packageName}/public/dist` - // cp all assert with cache-control 365 days exclude sw.js and index.html - const copyWithCache = execSync( - `aws s3 cp ${distPath} s3://${bucketName} --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --recursive --exclude "index.html" --exclude "sw.js" --exclude "config.json" --cache-control "no-store"`, - ).toString() - console.info(copyWithCache) - - // cp index.html and sw.js with no-cache control - const copyWithNoCache = execSync( - `aws s3 cp ${distPath} s3://${bucketName} --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --recursive --exclude "*" --include "sw.js" --include "index.html" --include "config.json"`, - ).toString() - console.info(copyWithNoCache) - } catch (err) { - console.error('deployToS3', err) - throw new Error(err) - } -} - -/** - * @deprecated - * This function will be remove after finish migration to new cloud - */ -const releaseWebApp = async ({ tagName, bucketName, packageName, env }) => { - // This is temporary fix for deployment to new prod and old prod env - if (env === 'staging') { - env = 'production' - } - try { - await extractTarFile({ tagName, packageName }) - await copyConfig({ packageName }) - await sendMessageToSlack(`Deploying for web app \`${packageName}\` with version \`${tagName}\``) - await syncFromLocalDistToS3Bucket({ bucketName, packageName }) - await sendMessageToSlack(`Finish the deployment for web app \`${packageName}\` with version \`${tagName}\``) - await runTestCyPress({ packageName, tagName, env }) - } catch (err) { - console.error('releaseWebApp', err) - throw new Error(err) - } -} - -const releaseNewWebApp = async ({ tagName, packageName, env }) => { +const releaseWebApp = async ({ tagName, packageName, env }) => { try { await extractTarFile({ tagName, packageName }) await copyConfig({ packageName }) await runReleaseCommand({ packageName, tagName, env }) await runTestCyPress({ packageName, tagName, env }) } catch (err) { - console.error('releaseNewWebApp', err) + console.error('releaseWebApp', err) throw new Error(err) } } @@ -266,41 +220,6 @@ const getCommitLog = ({ currentTag, previousTag, packageName }) => { return commitLog } -const BUCKET_NAMES = { - staging: { - 'admin-portal': 'reapit-admin-portal-prod', - 'developer-portal': 'reapit-developer-portal-prod', - 'aml-checklist': 'reapit-aml-checklist-prod', - 'demo-site': 'reapit-demo-site-prod', - elements: 'reapit-elements-prod', - 'geo-diary': 'reapit-geo-diary-prod', - 'geo-diary-v2': 'reapit-geo-diary-v2-prod', - 'lifetime-legal': 'reapit-lifetime-legal-prod', - marketplace: 'reapit-app-store-prod', - 'site-builder': 'reapit-site-builder-prod', - 'smb-onboarder': 'reapit-smb-prod', - 'web-components': 'reapit-web-components-prod', - 'elements-next': 'reapit-elements-next-prod', - 'reapit-connect': 'reapit-reapit-connect-prod', - }, - development: { - 'admin-portal': 'reapit-admin-portal-dev', - 'developer-portal': 'reapit-developer-portal-dev', - 'aml-checklist': 'reapit-aml-checklist-dev', - 'demo-site': 'reapit-demo-site', - elements: 'reapit-elements-dev', - 'geo-diary': 'reapit-geo-diary-dev', - 'geo-diary-v2': 'reapit-geo-diary-v2-dev', - 'lifetime-legal': 'reapit-lifetime-legal-dev', - marketplace: 'reapit-app-store', - 'site-builder': 'reapit-site-builder-dev', - 'smb-onboarder': 'reapit-smb-prod', - 'web-components': 'reapit-web-components', - 'elements-next': 'reapit-elements-next-dev', - 'reapit-connect': 'reapit-reapit-connect-dev', - }, -} - const WEB_APPS = [ 'admin-portal', 'developer-portal', @@ -328,28 +247,6 @@ const SERVERLESS_APPS = [ ...WEB_COMPONENTS_SERVERLESS_APPS, ] -const NEW_PROD_SERVERLESS_APPS = [ - 'cognito-custom-mail-lambda', - 'deploy-slack-bot', - 'graphql-server', - 'web-components-config-server', - ...WEB_COMPONENTS_SERVERLESS_APPS, - 'admin-portal', - 'developer-portal', - 'aml-checklist', - 'demo-site', - 'elements', - 'geo-diary', - 'geo-diary-v2', - 'lifetime-legal', - 'marketplace', - 'site-builder', - 'smb-onboarder', - 'web-components', - 'elements-next', - 'reapit-connect', -] - const NPM_APPS = [ 'cognito-auth', 'config-manager', @@ -365,19 +262,15 @@ const NPM_APPS = [ module.exports = { removeUnuseChar, getVersionTag, - syncFromLocalDistToS3Bucket, - releaseWebApp, releaseServerless, releaseNpm, runCommand, getRef, sendMessageToSlack, - BUCKET_NAMES, WEB_APPS, SERVERLESS_APPS, NPM_APPS, - NEW_PROD_SERVERLESS_APPS, formatReleaseNote, getCommitLog, - releaseNewWebApp, + releaseWebApp, }