diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7d85c13f..c0ef5202 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,71 +33,36 @@ k8s-prod-deploy: name: prod url: https://rego.linux.conf.au -build_ticket_image: +build_2019_dev_image: image: docker:git 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 build -f docker/Dockerfile -t asia.gcr.io/linuxconfsydney/symposion_app_2019:$CI_COMMIT_SHA . + - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA -f docker/Dockerfile.dev -t asia.gcr.io/linuxconfsydney/symposion_app_2019_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_dev:$CI_COMMIT_SHA asia.gcr.io/linuxconfsydney/symposion_app_dev:ticket-testing - - docker push asia.gcr.io/linuxconfsydney/symposion_app_dev:ticket-testing + - docker push asia.gcr.io/linuxconfsydney/symposion_app_2019:$CI_COMMIT_SHA + - docker push asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:$CI_COMMIT_SHA + - docker tag asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:$CI_COMMIT_SHA asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:latest + - docker push asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:latest only: - - ticket-testing + - dev/2019 -k8s-ticket-testing-deploy: +k8s-2019_dev-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-dev set image deployment/symposion-app symposion-app=asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA + - 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=asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:$CI_COMMIT_SHA when: manual only: - - ticket-testing + - dev/2019 environment: - name: staging - url: https://ticket-testing.lca2018.org - -build_2019_image: - image: docker:git - 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_dev:$CI_COMMIT_SHA asia.gcr.io/linuxconfsydney/symposion_app_dev:2019 - - docker push asia.gcr.io/linuxconfsydney/symposion_app_dev:2019 - only: - - "2019" - -k8s-2019-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-dev set image deployment/symposion-app symposion-app=asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA - when: manual - only: - - "2019" - environment: - name: staging - url: https://ticket-testing.lca2018.org + name: dev_2019 + url: https://dev.lca2019.org .docs_template: &sphinx image: alpine @@ -118,7 +83,7 @@ pages: - master environment: name: docs - url: https://lca2018.gitlab.io/symposion_app/ + url: https://laconfdev.gitlab.io/symposion_app/ test_sphinx: <<: *sphinx diff --git a/docker/Dockerfile b/docker/Dockerfile index 9e3bc413..efb4df20 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,11 +1,9 @@ -FROM python:3.6 as symposion_base +FROM python:3-stretch as symposion_base RUN set -ex \ && apt-get update - RUN set -ex \ && buildDeps=' \ - libmysqlclient-dev \ libffi-dev \ libfreetype6-dev \ libjpeg-dev \ @@ -16,7 +14,7 @@ RUN set -ex \ libmemcached-dev \ libsasl2-dev \ ' \ - && apt-get install -y git xmlsec1 libmysqlclient18 \ + && apt-get install -y git xmlsec1 \ && apt-get install -y $buildDeps --no-install-recommends \ && rm -rf /var/lib/apt/lists/* diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 7e50b281..59582384 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -1,4 +1,4 @@ ARG CI_COMMIT_SHA -FROM asia.gcr.io/linuxconfsydney/symposion_app:$CI_COMMIT_SHA +FROM asia.gcr.io/linuxconfsydney/symposion_app_2019:$CI_COMMIT_SHA CMD ["/app/symposion_app/docker/deploy_with_sqlite.sh"] diff --git a/make_dev_container.sh b/make_dev_container.sh index d45a585b..8d51ddba 100755 --- a/make_dev_container.sh +++ b/make_dev_container.sh @@ -2,6 +2,12 @@ CONTAINER_NAME=${1:-symposion_app} +if [ -e ./symposion-tools ]; then + pushd ./symposion-tools + ./save_db_from_docker.sh + popd +fi + docker image build -f docker/Dockerfile -t ${CONTAINER_NAME} --target symposion_dev . docker container stop symposion docker container rm symposion