Files
@ 0576f90903f1
Branch filter:
Location: symposion_app/.gitlab-ci.yml
0576f90903f1
5.9 KiB
text/x-yaml
Update fixtures for nav improvements
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | variables:
CONTAINER_IMAGE_2019: "asia.gcr.io/linuxconfsydney/symposion_app_2019"
DOCKER_DRIVER: overlay2
build_image:
image: docker:git
stage: build
services:
- docker:dind
script:
- docker build -f docker/Dockerfile -t asia.gcr.io/linuxconfsydney/symposion_app:$CI_COMMIT_SHA .
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA .
- docker login -u _json_key -p "$GOOGLE_KEY" https://asia.gcr.io
- docker push asia.gcr.io/linuxconfsydney/symposion_app:$CI_COMMIT_SHA
- docker push asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA
- docker tag asia.gcr.io/linuxconfsydney/symposion_app:$CI_COMMIT_SHA asia.gcr.io/linuxconfsydney/symposion_app:latest
- docker tag asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA asia.gcr.io/linuxconfsydney/symposion_app_dev:latest
- docker push asia.gcr.io/linuxconfsydney/symposion_app:latest
- docker push asia.gcr.io/linuxconfsydney/symposion_app_dev:latest
only:
- master
k8s-prod-deploy:
image: google/cloud-sdk
stage: deploy
script:
- echo "$GOOGLE_KEY" > key.json
- gcloud auth activate-service-account --key-file key.json
- gcloud config set compute/zone australia-southeast1-b
- gcloud config set project linuxconfsydney
- gcloud config set container/use_client_certificate True
- gcloud container clusters get-credentials lca02
- kubectl --namespace=rego-prod set image deployment/symposion-app symposion-app=asia.gcr.io/linuxconfsydney/symposion_app:$CI_COMMIT_SHA
when: manual
only:
- master
environment:
name: 2019/prod
url: https://rego.linux.conf.au
build_review_deployment:
image: docker:git
services:
- docker:dind
stage: build
script:
- docker run -v "${PWD}"/k8s:/src sparkprime/jsonnet /src/deployment_template.jsonnet --tla-str slug="${CI_COMMIT_REF_SLUG}" -m /src
artifacts:
paths:
- k8s/deployment.json
- k8s/ingress-patch.json
build_2019_dev_image:
image: docker:git
stage: build
services:
- docker:dind
script:
- docker login -u _json_key -p "$GOOGLE_KEY" https://asia.gcr.io
- docker pull "${CONTAINER_IMAGE_2019}"_dev:latest || true
- docker build --cache-from "${CONTAINER_IMAGE_2019}"_dev:latest -f docker/Dockerfile -t "${CONTAINER_IMAGE_2019}":$CI_COMMIT_SHA .
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t "${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2019}":$CI_COMMIT_SHA
- docker push "${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA
- docker tag "${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2019}"_dev:latest
- docker tag "${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_REF_SLUG
- docker push "${CONTAINER_IMAGE_2019}"_dev:latest
- docker push "${CONTAINER_IMAGE_2019}"_dev:${CI_COMMIT_REF_SLUG}
except:
- master
k8s-2019_dev-deploy:
image: google/cloud-sdk
stage: deploy
script:
- echo "${CA_CERT}" > cert.crt
- kubectl config set-cluster cluster --server="${KUBE_SERVER}" --embed-certs=true --certificate-authority=cert.crt
- kubectl config set-context cluster --cluster=cluster --namespace=rego-dev --user=gitlab-sa
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app="${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA
only:
- dev/2019
environment:
name: 2019/dev
url: https://dev.lca2019.org
# k8s-2019_dev_review-deploy:
# image: google/cloud-sdk
# stage: deploy
# script:
# - echo "${CA_CERT}" > cert.crt
# - kubectl config set-cluster cluster --server="${KUBE_SERVER}" --embed-certs=true --certificate-authority=cert.crt
# - kubectl config set-context cluster --cluster=cluster --namespace=rego-dev --user=gitlab-sa
# - kubectl config use-context cluster
# - kubectl --token "${GL_KUBE_TOKEN}" apply -f k8s/deployment.json
# - kubectl --token "${GL_KUBE_TOKEN}" describe ingress | grep "${CI_COMMIT_REF_SLUG}" || kubectl --token "${GL_KUBE_TOKEN}" patch ingress symposion-app-ingress -p "$(cat k8s/ingress-patch.json)" --type json
# only:
# - /^dev\/.*$/
# environment:
# name: 2019/dev/${CI_COMMIT_REF_SLUG}
# url: https://${CI_COMMIT_REF_SLUG}.dev.lca2019.org
# on_stop: k8s-2019_dev_review-stop-deploy
# k8s-2019_dev_review-stop-deploy:
# image: google/cloud-sdk
# stage: deploy
# script:
# - echo "${CA_CERT}" > cert.crt
# - kubectl config set-cluster cluster --server="${KUBE_SERVER}" --embed-certs=true --certificate-authority=cert.crt
# - kubectl config set-context cluster --cluster=cluster --namespace=rego-dev --user=gitlab-sa
# - kubectl config use-context cluster
# - kubectl --token "${GL_KUBE_TOKEN}" delete -f k8s/deployment.json
# only:
# - /^dev\/.*$/
# when: manual
# environment:
# name: 2019/dev/${CI_COMMIT_REF_SLUG}
# url: https://${CI_COMMIT_REF_SLUG}.dev.lca2019.org
# action: stop
k8s-2019_staging-deploy:
image: google/cloud-sdk
stage: deploy
script:
- echo "${CA_CERT}" > cert.crt
- kubectl config set-cluster cluster --server="${KUBE_SERVER}" --embed-certs=true --certificate-authority=cert.crt
- kubectl config set-context cluster --cluster=cluster --namespace=lca2019-staging --user=gitlab-ci
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app="${CONTAINER_IMAGE_2019}"_dev:$CI_COMMIT_SHA
when: manual
only:
- dev/2019
environment:
name: 2019/staging
url: https://staging.lca2019.org
.docs_template: &sphinx
image: alpine
script:
- apk --no-cache add py2-pip python-dev make
- pip install sphinx
- cd docs
- make html
- cd ..
- mv docs/_build/html public
artifacts:
paths:
- public
pages:
<<: *sphinx
only:
- master
environment:
name: docs
url: https://laconfdev.gitlab.io/symposion_app/
build_sphinx:
<<: *sphinx
stage: build
|