2015-03-31 04:26:09 +01:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# Jenkins build steps
|
2016-12-15 15:14:53 -03:00
|
|
|
export ESCAPED_BRANCH_NAME=$(echo $sourceBranch | sed 's/[^a-z0-9A-Z_.-]/-/g')
|
2016-12-17 03:50:39 +00:00
|
|
|
git submodule update --init --recursive
|
|
|
|
git clean -fxd base-image
|
|
|
|
git submodule foreach --recursive git clean -fxd
|
2017-06-05 16:03:50 -07:00
|
|
|
BASE_IMAGE_VERSION=$(make base-image-version)
|
2016-12-15 15:14:53 -03:00
|
|
|
export BASE_IMAGE_REPO=resin/$ARCH-supervisor-base
|
|
|
|
export BASE_IMAGE_TAG=resin/$ARCH-supervisor-base:$BASE_IMAGE_VERSION
|
|
|
|
|
|
|
|
# Try to pull the base image according to the contents of the base-image folder, otherwise build it
|
|
|
|
docker pull $BASE_IMAGE_TAG || (cd base-image && bash -ex automation/jenkins-build.sh)
|
2015-03-31 04:26:09 +01:00
|
|
|
|
2015-07-31 17:01:36 +01:00
|
|
|
# Try pulling the old build first for caching purposes.
|
|
|
|
docker pull resin/${ARCH}-supervisor:${ESCAPED_BRANCH_NAME} || docker pull resin/${ARCH}-supervisor:master || true
|
2016-09-30 16:57:57 -03:00
|
|
|
# Also pull the intermediate images, if possible, to improve caching
|
2016-12-15 15:14:53 -03:00
|
|
|
NODE_SUPERVISOR_REPO=registry.resinstaging.io/resin/node-supervisor-${ARCH}
|
|
|
|
GO_SUPERVISOR_REPO=registry.resinstaging.io/resin/go-supervisor-${ARCH}
|
|
|
|
docker pull ${NODE_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || docker pull ${NODE_SUPERVISOR_REPO}:master || true
|
|
|
|
docker pull ${GO_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || docker pull ${GO_SUPERVISOR_REPO}:master || true
|
2015-07-31 17:01:36 +01:00
|
|
|
|
2015-07-23 18:14:50 -03:00
|
|
|
# Test the gosuper
|
2016-10-05 19:49:53 +00:00
|
|
|
make SUPERVISOR_VERSION=${ESCAPED_BRANCH_NAME} JOB_NAME=${JOB_NAME} test-gosuper
|
2015-07-23 18:14:50 -03:00
|
|
|
|
2016-04-14 20:04:46 +07:00
|
|
|
MAKE_ARGS="ARCH=${ARCH} \
|
2016-12-15 15:14:53 -03:00
|
|
|
ESCAPED_BASE_IMAGE_TAG=$(echo $BASE_IMAGE_TAG | sed -e 's/\//\\\//g; s/\./\\\./g') \
|
2016-04-14 20:04:46 +07:00
|
|
|
PUBNUB_SUBSCRIBE_KEY=${PUBNUB_SUBSCRIBE_KEY} \
|
|
|
|
PUBNUB_PUBLISH_KEY=${PUBNUB_PUBLISH_KEY} \
|
2016-10-05 19:49:53 +00:00
|
|
|
MIXPANEL_TOKEN=${MIXPANEL_TOKEN} \
|
|
|
|
SUPERVISOR_VERSION=${ESCAPED_BRANCH_NAME}"
|
2016-04-14 20:04:46 +07:00
|
|
|
|
|
|
|
make ${MAKE_ARGS} \
|
|
|
|
DEPLOY_REGISTRY= \
|
|
|
|
deploy
|
|
|
|
|
2016-09-30 16:57:57 -03:00
|
|
|
# Try to push the intermediate images to improve caching in future builds
|
2016-12-15 15:14:53 -03:00
|
|
|
docker tag resin/node-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} ${NODE_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} \
|
|
|
|
|| docker tag -f resin/node-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} ${NODE_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} \
|
|
|
|
|| true
|
|
|
|
docker tag -f resin/go-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} ${GO_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} \
|
|
|
|
|| docker tag -f resin/go-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} ${GO_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} \
|
|
|
|
|| true
|
|
|
|
docker push ${NODE_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker push ${GO_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || true
|
2016-09-30 16:57:57 -03:00
|
|
|
|
2016-04-14 20:04:46 +07:00
|
|
|
make ${MAKE_ARGS} \
|
|
|
|
DEPLOY_REGISTRY=registry.resinstaging.io/ \
|
|
|
|
deploy
|
|
|
|
|
2017-06-21 17:22:28 -07:00
|
|
|
docker rmi registry.resinstaging.io/resin/${ARCH}-supervisor:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi resin/${ARCH}-supervisor:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi resin/${ARCH}-supervisor:master || true
|
|
|
|
docker rmi ${NODE_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi ${NODE_SUPERVISOR_REPO}:master || true
|
|
|
|
docker rmi resin/node-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi ${GO_SUPERVISOR_REPO}:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi ${GO_SUPERVISOR_REPO}:master || true
|
|
|
|
docker rmi resin/go-supervisor-${ARCH}:${ESCAPED_BRANCH_NAME} || true
|
|
|
|
docker rmi ${BASE_IMAGE_TAG} || true
|
|
|
|
docker rmi ${BASE_IMAGE_REPO}:${ESCAPED_BRANCH_NAME} || true
|