Newer
Older
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_COMMIT_TAG == null'
when: never
- if: '$CI_COMMIT_BRANCH'
- if: $CI_COMMIT_TAG != null
- if: $CI_COMMIT_TAG != null
when: never
echo "VUE_APP_RELEASE=MERGE $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server
echo "VUE_APP_RELEASE=BRANCH $CI_COMMIT_BRANCH ($CI_COMMIT_SHORT_SHA)" >> .env.dev_server
artifacts:
expire_in: 1 week
paths:
- dist
- echo "VUE_APP_RELEASE=$CI_COMMIT_REF_NAME" >> .env.production
image: uibit/awscli:latest
- if: $CI_COMMIT_TAG != null
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE != 'merge_request_event'
when: manual
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
- 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}"
"AltDomainName=dev.ordbok.uib.no"
"DomainName=beta.ordbok-dev.aws.uib.no"
"ZoneDomainName=ordbok-dev.aws.uib.no"
"PathRewriteLambdaARN=arn:aws:lambda:us-east-1:${AWS_DEV_ACCOUNT}:function:rewrite_request:6"
"OrdbokCacheOriginDomain=8mwl23g34a.execute-api.eu-west-1.amazonaws.com"
"OrdbokCacheStage=DEV"
- 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 "/*"
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}"
"PathRewriteLambdaARN=arn:aws:lambda:us-east-1:${AWS_PROD_ACCOUNT}:function:path_rewrite:14"
"OrdbokCacheOriginDomain=n5speug9cl.execute-api.eu-west-1.amazonaws.com"
"OrdbokCacheStage=PROD"
--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 "/*"