temper-tv/.gitlab-ci.yml

68 lines
1.4 KiB
YAML

image: shockrah/website:latest
stages:
- build
- deploy
- golive
############## ################## ##############
############## Build Site Content ##############
############## ################## ##############
build-content:
stage: build
image: shockrah/website:latest
only:
refs:
- master
script:
- cd main-site/ && hugo
artifacts:
expire_in: 1 week
paths:
- main-site/public/
############## ################## ##############
############## Deploy Site ##############
############## ################## ##############
deploy-to-s3:
stage: deploy
# Override entrypoint to avoid weird auto start shenanigans
image:
name: amazon/aws-cli:2.2.25
entrypoint: [""]
needs:
- build-content
before_script:
- bash ci/verify-aws-fields.sh
script:
# Upload the content to the bucket itself
- cd main-site/ && aws s3 cp public s3://temper.tv/ --recursive
############## ################## ##############
############## Refresh Container ##############
############## ################## ##############
blue-green-deployment-nginx:
stage: golive
image:
name: amazon/aws-cli:2.2.25
entrypoint: [""]
needs:
- deploy-to-s3
vars:
service: athens-nginx-static-content
cluster: athens-alpha-cluster
before_script:
- bash ci/verify-aws-fields.sh
script:
- aws ecs update-service --cluster $cluster --service $service --force-new-deployment