Merge commit 'c07dc66' into tobi/2019_layout

This commit is contained in:
James Polley 2018-06-05 16:59:13 +10:00
commit 3d9c8b3032
4 changed files with 27 additions and 58 deletions

View file

@ -33,71 +33,36 @@ k8s-prod-deploy:
name: prod name: prod
url: https://rego.linux.conf.au url: https://rego.linux.conf.au
build_ticket_image: build_2019_dev_image:
image: docker:git image: docker:git
services: services:
- docker:dind - docker:dind
script: script:
- docker build -f docker/Dockerfile -t asia.gcr.io/linuxconfsydney/symposion_app:$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_dev:$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 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_2019:$CI_COMMIT_SHA
- docker push asia.gcr.io/linuxconfsydney/symposion_app_dev:$CI_COMMIT_SHA - docker push asia.gcr.io/linuxconfsydney/symposion_app_2019_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 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_dev:ticket-testing - docker push asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:latest
only: only:
- ticket-testing - dev/2019
k8s-ticket-testing-deploy: k8s-2019_dev-deploy:
image: google/cloud-sdk image: google/cloud-sdk
stage: deploy stage: deploy
script: script:
- echo "$GOOGLE_KEY" > key.json - echo "${CA_CERT}" > cert.crt
- gcloud auth activate-service-account --key-file key.json - kubectl config set-cluster cluster --server="${KUBE_SERVER}" --embed-certs=true --certificate-authority=cert.crt
- gcloud config set compute/zone australia-southeast1-b - kubectl config set-context cluster --cluster=cluster --namespace=rego-dev --user=gitlab-sa
- gcloud config set project linuxconfsydney - kubectl config use-context cluster
- gcloud config set container/use_client_certificate True - kubectl --token "${GL_KUBE_TOKEN}" set image deployment/symposion-app symposion-app=asia.gcr.io/linuxconfsydney/symposion_app_2019_dev:$CI_COMMIT_SHA
- 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 when: manual
only: only:
- ticket-testing - dev/2019
environment: environment:
name: staging name: dev_2019
url: https://ticket-testing.lca2018.org url: https://dev.lca2019.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
.docs_template: &sphinx .docs_template: &sphinx
image: alpine image: alpine
@ -118,7 +83,7 @@ pages:
- master - master
environment: environment:
name: docs name: docs
url: https://lca2018.gitlab.io/symposion_app/ url: https://laconfdev.gitlab.io/symposion_app/
test_sphinx: test_sphinx:
<<: *sphinx <<: *sphinx

View file

@ -1,11 +1,9 @@
FROM python:3.6 as symposion_base FROM python:3-stretch as symposion_base
RUN set -ex \ RUN set -ex \
&& apt-get update && apt-get update
RUN set -ex \ RUN set -ex \
&& buildDeps=' \ && buildDeps=' \
libmysqlclient-dev \
libffi-dev \ libffi-dev \
libfreetype6-dev \ libfreetype6-dev \
libjpeg-dev \ libjpeg-dev \
@ -16,7 +14,7 @@ RUN set -ex \
libmemcached-dev \ libmemcached-dev \
libsasl2-dev \ libsasl2-dev \
' \ ' \
&& apt-get install -y git xmlsec1 libmysqlclient18 \ && apt-get install -y git xmlsec1 \
&& apt-get install -y $buildDeps --no-install-recommends \ && apt-get install -y $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*

View file

@ -1,4 +1,4 @@
ARG CI_COMMIT_SHA 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"] CMD ["/app/symposion_app/docker/deploy_with_sqlite.sh"]

View file

@ -2,6 +2,12 @@
CONTAINER_NAME=${1:-symposion_app} 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 image build -f docker/Dockerfile -t ${CONTAINER_NAME} --target symposion_dev .
docker container stop symposion docker container stop symposion
docker container rm symposion docker container rm symposion