From 8764a0c8d9752049e7faea5a0769fb1dd51261e6 Mon Sep 17 00:00:00 2001 From: Sameer Naik Date: Wed, 12 Oct 2016 23:03:21 +0530 Subject: [PATCH] use CircleCI to build and deploy releases on multiple targets --- bitnami/node/circle.yml | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 bitnami/node/circle.yml diff --git a/bitnami/node/circle.yml b/bitnami/node/circle.yml new file mode 100644 index 000000000000..b864057766a4 --- /dev/null +++ b/bitnami/node/circle.yml @@ -0,0 +1,57 @@ +machine: + services: + - docker + environment: + IMAGE_NAME: node + DOCKER_PROJECT: bitnami + GCLOUD_PROJECT: bitnami-containers + +dependencies: + override: + - docker info + - gcloud version + - docker pull $DOCKER_PROJECT/$IMAGE_NAME:development || true + +test: + override: + - docker build --rm=false -t $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_BUILD_NUM . + +deployment: + development: + branch: master + commands: + - > + if [ -n $DOCKER_PASS ]; then + docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS + docker build --rm=false -t $DOCKER_PROJECT/$IMAGE_NAME:development . + docker push $DOCKER_PROJECT/$IMAGE_NAME:development + fi + - > + if [ -n $GCLOUD_SERVICE_KEY ]; then + echo $GCLOUD_SERVICE_KEY | base64 --decode > ${HOME}/gcloud-service-key.json + gcloud auth activate-service-account --key-file ${HOME}/gcloud-service-key.json + gcloud config set project $GCLOUD_PROJECT + docker tag $DOCKER_PROJECT/$IMAGE_NAME:development gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:development + gcloud docker -- push gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:development + fi + release: + tag: /^[0-9]+(\.[0-9]+)*-r[0-9]*/ + commands: + - > + if [ -n $DOCKER_PASS ]; then + docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS + docker build --rm=false -t $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_TAG . + docker tag $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_TAG $DOCKER_PROJECT/$IMAGE_NAME:latest + docker push $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_TAG + docker push $DOCKER_PROJECT/$IMAGE_NAME:latest + fi + - > + if [ -n $GCLOUD_SERVICE_KEY ]; then + echo $GCLOUD_SERVICE_KEY | base64 --decode > ${HOME}/gcloud-service-key.json + gcloud auth activate-service-account --key-file ${HOME}/gcloud-service-key.json + gcloud config set project $GCLOUD_PROJECT + docker tag $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_TAG gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:$CIRCLE_TAG + docker tag $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_TAG gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:latest + gcloud docker -- push gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:$CIRCLE_TAG + gcloud docker -- push gcr.io/$GCLOUD_PROJECT/$IMAGE_NAME:latest + fi