machine: services: - docker environment: IMAGE_NAME: ruby DOCKER_PROJECT: bitnami GCLOUD_PROJECT: bitnami-containers dependencies: override: - docker info - gcloud version - docker pull $DOCKER_PROJECT/$IMAGE_NAME:cache-reload || true test: override: - docker build --rm=false -t $DOCKER_PROJECT/$IMAGE_NAME:$CIRCLE_BUILD_NUM . deployment: cache: 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:cache-reload . docker push $DOCKER_PROJECT/$IMAGE_NAME:cache-reload fi release: tag: /^[0-9]+(\.[0-9]+)*([^\n])*/ 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 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