mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-05-31 06:41:05 +00:00
Disable pushing to registry.resinstaging.io, and use build environment to login to dockerhub
Also, avoid building the dind builder twice, and try to get a reusable docker instance. Change-Type: patch Signed-off-by: Pablo Carranza Velez <pablo@resin.io>
This commit is contained in:
parent
8dfc559126
commit
fa8116d97c
@ -12,6 +12,7 @@
|
||||
# * ENABLE_TESTS
|
||||
# * PUBNUB_SUBSCRIBE_KEY, PUBNUB_PUBLISH_KEY, MIXPANEL_TOKEN: default keys to inject in the supervisor image
|
||||
# * EXTRA_TAG: when PUSH_IMAGES is true, additional tag to push to the registries
|
||||
# * DOCKER_USERNAME, DOCKER_PASSWORD: if the password is set, then these will be used to login to dockerhub before pushing
|
||||
#
|
||||
# Builds the supervisor for the architecture defined by $ARCH.
|
||||
# Will produce and push an image tagged as resin/$ARCH-supervisor:$TAG
|
||||
@ -24,8 +25,7 @@
|
||||
# In all of these cases it will use "master" if $TAG is not found.
|
||||
#
|
||||
# If PUSH_IMAGES is "true", it will also push the supervisor and intermediate images
|
||||
# to the docker registry. The supervisor image will also be pushed to registry.resinstaging.io
|
||||
# so that devices with older docker versions can pull it from there (it's a v1 registry).
|
||||
# to the docker registry.
|
||||
# If CLEANUP is "true", all images will be removed after pushing - including any relevant images
|
||||
# that may have been on the host from before the build, so be careful!
|
||||
# If ENABLE_TESTS is "true", tests will be run.
|
||||
@ -108,15 +108,14 @@ export MIXPANEL_TOKEN
|
||||
make IMAGE=$TARGET_IMAGE supervisor
|
||||
|
||||
if [ "$PUSH_IMAGES" = "true" ]; then
|
||||
if [ -n "$DOCKER_PASSWORD" ]; then
|
||||
docker login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
|
||||
fi
|
||||
make IMAGE=$TARGET_IMAGE deploy
|
||||
docker tag $TARGET_IMAGE registry.resinstaging.io/$TARGET_IMAGE
|
||||
make IMAGE=registry.resinstaging.io/$TARGET_IMAGE deploy
|
||||
|
||||
if [ -n "$EXTRA_TAG" ]; then
|
||||
docker tag $TARGET_IMAGE resin/$ARCH-supervisor:$EXTRA_TAG
|
||||
make IMAGE=resin/$ARCH-supervisor:$EXTRA_TAG deploy
|
||||
docker tag $TARGET_IMAGE registry.resinstaging.io/resin/$ARCH-supervisor:$EXTRA_TAG
|
||||
make IMAGE=registry.resinstaging.io/resin/$ARCH-supervisor:$EXTRA_TAG deploy
|
||||
fi
|
||||
|
||||
# Try to push the intermediate images to improve caching in future builds
|
||||
|
@ -72,7 +72,7 @@ resinApi._request(_.extend({
|
||||
return resinApi.post({
|
||||
resource: 'supervisor_release',
|
||||
body: {
|
||||
image_name: `registry.resinstaging.io/resin/${arch}-supervisor`,
|
||||
image_name: `resin/${arch}-supervisor`,
|
||||
supervisor_version: tag,
|
||||
device_type: deviceType.slug,
|
||||
is_public: true
|
||||
|
24
circle.yml
24
circle.yml
@ -4,7 +4,8 @@ defaults: &defaults
|
||||
- image: library/docker:stable
|
||||
working_directory: /tmp/build
|
||||
steps:
|
||||
- setup_remote_docker
|
||||
- setup_remote_docker:
|
||||
reusable: true
|
||||
- run:
|
||||
name: Check docker is running and install git
|
||||
command: |
|
||||
@ -25,20 +26,25 @@ defaults: &defaults
|
||||
name: Start the docker-in-docker builder and build $ARCH-supervisor
|
||||
no_output_timeout: 10800
|
||||
command: |
|
||||
# build the dind image
|
||||
docker build --rm=false --tag builder -f automation/Dockerfile .
|
||||
# start the dind container
|
||||
echo "Starting the dind builder"
|
||||
dind=$(docker run --privileged -d builder)
|
||||
# confirm it's running
|
||||
docker ps
|
||||
VERSION_TAG=v$(jq .version package.json | sed 's/"//g')
|
||||
if [ "${CIRCLE_BRANCH}" = "master" ]; then
|
||||
EXTRA_BUILD_ARGS="-e EXTRA_TAG=$VERSION_TAG"
|
||||
else
|
||||
EXTRA_BUILD_ARGS=""
|
||||
fi
|
||||
echo "Starting build.sh"
|
||||
# start the build for this architecture
|
||||
docker exec -it -e TAG=${CIRCLE_BRANCH} -e ARCH=${ARCH} -e PUSH_IMAGES=${PUSH_IMAGES} $EXTRA_BUILD_ARGS ${dind} bash automation/build.sh
|
||||
docker exec -it \
|
||||
-e TAG=${CIRCLE_BRANCH} \
|
||||
-e ARCH=${ARCH} \
|
||||
-e PUSH_IMAGES=${PUSH_IMAGES} \
|
||||
-e DOCKER_USERNAME=${DOCKER_USERNAME} \
|
||||
-e DOCKER_PASSWORD=${DOCKER_PASSWORD} \
|
||||
$EXTRA_BUILD_ARGS \
|
||||
${dind} bash automation/build.sh
|
||||
if [ "${CIRCLE_BRANCH}" = "master" ] && [ "${DEPLOY_TO_RESIN}" = "true" ]; then
|
||||
echo "Deploying to Resin API (staging)"
|
||||
docker exec -it -e ARCH=${ARCH} -e TAG=$VERSION_TAG -e API_KEY=$STAGING_API_KEY -e API_ENDPOINT=$STAGING_API_ENDPOINT ${dind} node automation/deploy-to-resin.js
|
||||
@ -52,7 +58,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: amd64
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
@ -61,7 +66,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: i386
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
@ -70,7 +74,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: armel
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
@ -79,7 +82,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: armv7hf
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
@ -88,7 +90,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: aarch64
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
@ -97,7 +98,6 @@ jobs:
|
||||
<<: *defaults
|
||||
environment:
|
||||
DOCKER_USERNAME: travisciresin
|
||||
DOCKER_EMAIL: accounts+travisci+docker@resin.io
|
||||
ARCH: rpi
|
||||
PUSH_IMAGES: "true"
|
||||
STAGING_API_ENDPOINT: https://api.resinstaging.io
|
||||
|
Loading…
x
Reference in New Issue
Block a user