File diff 304436881bff → 65bed40fafa0
.gitlab-ci.yml
Show inline comments
...
 
@@ -35,28 +35,29 @@ k8s-prod-deploy:
 
  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}" > "${CI_COMMIT_REF_SLUG}".json
 
    - docker run -v "${PWD}"/k8s:/src sparkprime/jsonnet /src/deployment_template.jsonnet --tla-str slug="${CI_COMMIT_REF_SLUG}" -m /src
 
  artifacts:
 
    paths:
 
      - "${CI_COMMIT_REF_SLUG}.json" 
 
    - 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
...
 
@@ -82,41 +83,42 @@ k8s-2019_dev-deploy:
 
  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 ${CI_COMMIT_REF_SLUG}.json
 
  - 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 ${CI_COMMIT_REF_SLUG}.json
 
  - 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: