add conditions for build

pull/16094/head
alberhander 4 years ago
parent c681e93074
commit c8b094303a

@ -66,36 +66,77 @@ steps:
cp config/database.yml.sample config/database.yml
cp lib/assets/javascripts/cdb/secrets.example.json lib/assets/javascripts/cdb/secrets.json
# Build and push image
- name: gcr.io/cloud-builders/docker
entrypoint: /bin/bash
args:
- -c
- |
echo 'Building images...'
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker build --build-arg BUNDLE_JOBS=16 --build-arg COMPILE_ASSETS=true -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}--${SHORT_SHA} -f Dockerfile.resque .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}--${SHORT_SHA} -f Dockerfile.subscriber .
echo 'Pushing builder image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}--${SHORT_SHA}
echo 'Pushing builder-resque image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}--${SHORT_SHA}
echo 'Pushing builder-subscriber image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}--${SHORT_SHA}
if [ "${BRANCH_NAME}" == 'master' ];then
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME} gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME} gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME} gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:latest
set -x
if [ -z "${_PR_NUMBER}" ] && [ "${BRANCH_NAME}" == 'master' ]
then
echo '** Push to master **'
echo 'Pulling latest image...'
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker build --build-arg BUNDLE_JOBS=4 --build-arg COMPILE_ASSETS=true -t gcr.io/cartodb-on-gcp-main-artifacts/builder:latest -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:latest .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:latest -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}--${SHORT_SHA} -f Dockerfile.resque .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:latest -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}--${SHORT_SHA} -f Dockerfile.subscriber .
echo 'Pushing builder image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${BRANCH_NAME}--${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
echo 'Pushing builder-resque image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${BRANCH_NAME}--${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:latest
echo 'Pushing builder-subscriber image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${BRANCH_NAME}--${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:latest
elif [ ! -z "${_PR_NUMBER}" ] && [ ! "${_HEAD_BRANCH}" == 'master' ]
then
echo '** Pull request to master **'
# Attempts to pull a tag for head branch, if doesn't exists then pulls latest to use cache.
echo 'Pulling most recent image for head branch...'
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
if [ ! -z "$?" ]
then
docker pull gcr.io/cartodb-on-gcp-main-artifacts/builder:latest
docker tag gcr.io/cartodb-on-gcp-main-artifacts/builder:latest gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
fi
echo 'Building images...'
docker build --build-arg BUNDLE_JOBS=4 --build-arg COMPILE_ASSETS=true -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA} --cache-from gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH} .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}--${SHORT_SHA} -f Dockerfile.resque .
docker build -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA} -t gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}--${SHORT_SHA} -f Dockerfile.subscriber .
echo 'Pushing builder image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder:${_HEAD_BRANCH}--${SHORT_SHA}
echo 'Pushing builder-resque image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-resque:${_HEAD_BRANCH}--${SHORT_SHA}
echo 'Pushing builder-subscriber image...'
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${SHORT_SHA}
docker push gcr.io/cartodb-on-gcp-main-artifacts/builder-subscriber:${_HEAD_BRANCH}--${SHORT_SHA}
else
echo '** Not building image. Conditions didn't match. **'
fi
timeout: 1800s

Loading…
Cancel
Save