Changeset - 0231f3ff468f
[Not reviewed]
0 2 0
James Polley - 6 years ago 2018-06-24 13:23:23
jp@jamezpolley.com
Set the deployment to use a SHA rather than the SLUG

This will ensure that the deployment gets updated when we deploy
2 files changed with 6 insertions and 7 deletions:
0 comments (0 inline, 0 general)
.gitlab-ci.yml
Show inline comments
...
 
@@ -39,17 +39,17 @@ k8s-prod-deploy:
 
    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
 
    - 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
 
  artifacts:
 
    paths:
 
    - k8s/deployment.json
 
    - k8s/ingress-patch.json
 
    - k8s/certificate-patch.json
 

	
 
build_2019_dev_image:
 
  image: docker:git
...
 
@@ -58,20 +58,18 @@ build_2019_dev_image:
 
  - 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}
 
    - 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
k8s/deployment_template.jsonnet
Show inline comments
 
function (slug) {
 
function (slug, sha) {
 
  
 
  local app = "symposion-app-" + slug,
 
  local namespace = "rego-review",
 
  local domain = slug + ".dev.lca2019.org",
 
  
 
  "deployment.json":
 
    {
 
      "apiVersion": "v1",
...
 
@@ -56,17 +56,18 @@ function (slug) {
 
                "maxSurge": 1,
 
                "maxUnavailable": 1
 
              },
 
              "type": "RollingUpdate"
 
            },
 
            "template": {
 
              "metadata": {
 
                "labels": {
 
                  "app": "symposion-app"
 
                  "app": "symposion-app",
 
                  "slug": slug
 
                }
 
              },
 
              "spec": {
 
                "containers": [
 
                  {
 
                    "env": [
 
                      {
 
                        "name": "SYMPOSION_APP_DEBUG",
...
 
@@ -96,17 +97,17 @@ function (slug) {
 
                        "name": "STRIPE_SECRET_KEY",
 
                        "value": "5CEA51A5-A613-4AEF-A9FB-D0A57D77C13B"
 
                      },
 
                      {
 
                        "name": "SYMPOSION_DEV_MODE",
 
                        "value": "LAPTOP"
 
                      },
 
                    ],
 
                    "image": "asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:" + slug,
 
                    "image": "asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:" + sha,
 
                    "imagePullPolicy": "Always",
 
                    "livenessProbe": {
 
                      "failureThreshold": 3,
 
                      "httpGet": {
 
                        "path": "/admin/login/",
 
                        "port": 8000,
 
                        "scheme": "HTTP"
 
                      },
0 comments (0 inline, 0 general)