Files
@ ef420b2d4300
Branch filter:
Location: symposion_app/.gitlab-ci.yml - annotation
ef420b2d4300
9.1 KiB
text/x-yaml
Embedded schedule view
Allow the schedule to be embedded in external platforms.
Hide header and footer when embedded for easier consumption.
Allow the schedule to be embedded in external platforms.
Hide header and footer when embedded for easier consumption.
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 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | de17d506a485 304436881bff 959aefd856f5 b20dc75ea6a2 de17d506a485 de17d506a485 df389b9ce518 d7065ee43d31 de17d506a485 d7065ee43d31 d7065ee43d31 d7065ee43d31 d7065ee43d31 df389b9ce518 d7065ee43d31 d7065ee43d31 df389b9ce518 d7065ee43d31 df389b9ce518 d7065ee43d31 df389b9ce518 d7065ee43d31 d7065ee43d31 d7065ee43d31 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 db1f3f979243 7b58bfafa6c3 db1f3f979243 db1f3f979243 db1f3f979243 06eae1df078e de17d506a485 06eae1df078e 71a612baa4e3 de17d506a485 304436881bff de17d506a485 de17d506a485 de17d506a485 de17d506a485 0231f3ff468f 67812970161e 67812970161e de17d506a485 de17d506a485 65bed40fafa0 f0d14754a764 36d079f56b96 de17d506a485 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 b20dc75ea6a2 959aefd856f5 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 b20dc75ea6a2 959aefd856f5 11f4a05011f7 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 b20dc75ea6a2 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 0c58a9432391 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 0c58a9432391 6e35fec262cc 6e35fec262cc 6e35fec262cc c07dc66b3dbf c07dc66b3dbf c07dc66b3dbf c07dc66b3dbf 304436881bff 6e35fec262cc 3534a8243c8b 6e35fec262cc de17d506a485 bbd277c4625b 6e35fec262cc 0c58a9432391 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a f0d14754a764 36d079f56b96 f0d14754a764 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 0c58a9432391 de17d506a485 0c58a9432391 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a f0d14754a764 36d079f56b96 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a 3d5ed5c5160a de17d506a485 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 959aefd856f5 0c58a9432391 6d5090043306 6d5090043306 6d5090043306 6d5090043306 6d5090043306 6d5090043306 6d5090043306 304436881bff 6d5090043306 6d5090043306 6d5090043306 6d5090043306 de17d506a485 6d5090043306 6d5090043306 4570eb16650a 75a4bf673f3e 75a4bf673f3e bd42d0d9970f 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 75a4bf673f3e 4570eb16650a 4570eb16650a 4570eb16650a 75a4bf673f3e 75a4bf673f3e bd42d0d9970f 06eae1df078e 06eae1df078e bbd277c4625b 4570eb16650a de17d506a485 4570eb16650a de17d506a485 | variables:
CONTAINER_IMAGE_2019: "asia.gcr.io/linuxconfsydney/symposion_app_2019"
CONTAINER_IMAGE_2020: "asia.gcr.io/linuxconfsydney/symposion_app_2020"
CONTAINER_IMAGE_2021: "asia.gcr.io/linuxconfsydney/symposion_app_2021"
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}" --tla-str sha="${CI_COMMIT_SHA}" -m /src
only:
- /^dev\/.*$/
artifacts:
paths:
- k8s/deployment.json
- k8s/ingress.json
- k8s/certificate.json
build_2021_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_2021}":latest || true
- docker build --cache-from "${CONTAINER_IMAGE_2021}":latest -f docker/Dockerfile -t "${CONTAINER_IMAGE_2021}":$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2021}":$CI_COMMIT_SHA
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA
- docker tag "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_REF_SLUG
- docker push "${CONTAINER_IMAGE_2021}"_dev:$CI_COMMIT_REF_SLUG
only:
- "2021"
build_2020_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_2020}":latest || true
- docker build --cache-from "${CONTAINER_IMAGE_2020}":latest -f docker/Dockerfile -t "${CONTAINER_IMAGE_2020}":$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2020}":$CI_COMMIT_SHA
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA .
- docker push "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA
- docker tag "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_REF_SLUG
- docker push "${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_REF_SLUG
only:
- "2020"
2020-prod-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=lca2020-prod --user=gitlab-ci
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app="${CONTAINER_IMAGE_2020}":$CI_COMMIT_SHA
only:
- "2020"
when: manual
environment:
name: 2020/prod
url: https://lca2020.linux.org.au
2019-prod-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-prod --user=gitlab-ci
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app="${CONTAINER_IMAGE_2019}":$CI_COMMIT_SHA
only:
- "2019"
when: manual
environment:
name: 2019/prod
url: https://2019.linux.conf.au
2020_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_2020}"_dev:$CI_COMMIT_SHA
only:
- dev/2020
environment:
name: 2020/dev
url: https://2020-dev.lca2019.org
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
2019_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-review --user=rego-dev/gitlab-sa
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" apply -f k8s/deployment.json
- kubectl --token "${GL_KUBE_TOKEN}" apply -f k8s/ingress.json
- kubectl --token "${GL_KUBE_TOKEN}" apply -f k8s/certificate.json
only:
- /^dev\/.*$/
environment:
name: 2019/dev/${CI_COMMIT_REF_SLUG}
url: https://${CI_COMMIT_REF_SLUG}.dev.lca2019.org
on_stop: 2019_review-stop-deploy
2019_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-review --user=rego-dev/gitlab-sa
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" delete -f k8s/deployment.json
- kubectl --token "${GL_KUBE_TOKEN}" delete -f k8s/ingress.json
- kubectl --token "${GL_KUBE_TOKEN}" delete -f k8s/certificate.json
only:
- /^dev\/.*$/
when: manual
environment:
name: 2019/dev/${CI_COMMIT_REF_SLUG}
url: https://${CI_COMMIT_REF_SLUG}.dev.lca2019.org
action: stop
2020_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=lca2020-staging --user=gitlab-ci
- kubectl config use-context cluster
- kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app="${CONTAINER_IMAGE_2020}"_dev:$CI_COMMIT_SHA
when: manual
only:
- dev/2020
environment:
name: 2020/staging
url: https://staging2020.lca2019.org
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 py3-pip python3-dev make
- pip install sphinx
- cd docs
- make html
- cd ..
- mv docs/_build/html public
artifacts:
paths:
- public
pages:
<<: *sphinx
only:
- master
- "2021"
environment:
name: docs
url: https://laconfdev.gitlab.io/symposion_app/
build_sphinx:
<<: *sphinx
stage: build
|