diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 387808a768c44c6db7d7a10fbfc59ff38e0864f2..c3465e9a5cd2ccad1751e2b46ad2a71a5dd2d8a2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ stages: - build - deploy -build: +build-dev: image: node:latest stage: build only: @@ -15,6 +15,19 @@ build: paths: - dist +build-prod: +image: node:latest +stage: build +only: + - /^release_.*$/ +script: + - npm install --progress=false + - npm run build +artifacts: + expire_in: 1 week + paths: + - dist + deploy: image: uibit/awscli:latest stage: deploy @@ -23,11 +36,15 @@ deploy: script: - rm -rf ~/.aws - mv .aws ~/ + - export AWS_ACCESS_KEY_ID=$AWS_DEV_ACCESS_KEY_ID + - export AWS_SECRET_ACCESS_KEY=$AWS_DEV_SECRET_ACCESS_KEY - STACK_NAME=ordbok-frontend-beta - - CERT_ARN=arn:aws:acm:us-east-1:${AWS_ACCOUNT}:certificate/c7078026-d634-462b-86b4-1a6d33ac6d53 + - CERT_ARN=arn:aws:acm:us-east-1:${AWS_DEV_ACCOUNT}:certificate/15c0111e-b2f7-4a24-8c94-b7034a900d55 - aws cloudformation deploy --stack-name ${STACK_NAME} --template-file "aws/beta.ordbok.uib.no_stack.yaml" --parameter-overrides "CertificateArn=${CERT_ARN}" + "DomainName=dev.ordbok.uib.no" + "AltDomainName=beta.ordbok-dev.aws.uib.no" --no-fail-on-empty-changeset --capabilities CAPABILITY_IAM - aws s3 rm "s3://${STACK_NAME}.aws.uib.no" --recursive @@ -38,3 +55,29 @@ deploy: --logical-resource-id Distribution --query 'StackResourceDetail.PhysicalResourceId' | jq -r) - aws cloudfront create-invalidation --distribution-id ${DISTRO_ID} --paths "/*" + +deploy-prod: +image: uibit/awscli:latest +stage: deploy +only: + - /^release_.*$/ +script: +- rm -rf ~/.aws +- mv .aws ~/ +- export AWS_ACCESS_KEY_ID=$AWS_PROD_ACCESS_KEY_ID +- export AWS_SECRET_ACCESS_KEY=$AWS_PROD_SECRET_ACCESS_KEY +- STACK_NAME=ordbok-frontend-beta +- CERT_ARN=arn:aws:acm:us-east-1:${AWS_PROD_ACCOUNT}:certificate/c7078026-d634-462b-86b4-1a6d33ac6d53 +- aws cloudformation deploy --stack-name ${STACK_NAME} + --template-file "aws/beta.ordbok.uib.no_stack.yaml" + --parameter-overrides "CertificateArn=${CERT_ARN}" + --no-fail-on-empty-changeset + --capabilities CAPABILITY_IAM +- aws s3 rm "s3://${STACK_NAME}.aws.uib.no" --recursive +- aws s3 sync dist/ "s3://${STACK_NAME}.aws.uib.no" --delete +- aws s3 sync api_static/ "s3://${STACK_NAME}.aws.uib.no" +- DISTRO_ID=$(aws cloudformation describe-stack-resource + --stack-name ${STACK_NAME} + --logical-resource-id Distribution + --query 'StackResourceDetail.PhysicalResourceId' | jq -r) +- aws cloudfront create-invalidation --distribution-id ${DISTRO_ID} --paths "/*"