ci: speedup docker builds and pushes
This commit is contained in:
parent
fdf1a4c508
commit
c0e68b4ef6
2
Makefile
2
Makefile
@ -4,7 +4,7 @@ check:
|
||||
-@./bin/setup
|
||||
|
||||
SUBDIRS := $(dir $(wildcard */Makefile))
|
||||
TARGETS := install clean test test-ci lint lint-ci # whatever else, but must not contain '/'
|
||||
TARGETS := install clean test test-ci lint lint-ci build push # whatever else, but must not contain '/'
|
||||
|
||||
# foo/.all bar/.all foo/.clean bar/.clean
|
||||
SUBDIRS_TARGETS := \
|
||||
|
10
bin/docker-login
Executable file
10
bin/docker-login
Executable file
@ -0,0 +1,10 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
#
|
||||
# Prelude - make bash behave sanely
|
||||
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
echo ">> Logging into $_DOCKER_REGISTRY"
|
||||
docker login -e="." -u="$_DOCKER_LOGIN_USERNAME" -p="$_DOCKER_LOGIN_PASSWORD" "$_DOCKER_REGISTRY"
|
@ -1,28 +0,0 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
#
|
||||
# Prelude - make bash behave sanely
|
||||
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
# Beware of CDPATH gotchas causing cd not to work correctly when a user
|
||||
# has set this in their environment
|
||||
# https://bosker.wordpress.com/2012/02/12/bash-scripters-beware-of-the-cdpath/
|
||||
unset CDPATH
|
||||
|
||||
readonly INCLUDE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
# shellcheck source=bin/setup-tools
|
||||
. "${INCLUDE}"/setup-tools
|
||||
|
||||
echo ">> Logging into $_DOCKER_REGISTRY"
|
||||
docker login -e="." -u="$_DOCKER_LOGIN_USERNAME" -p="$_DOCKER_LOGIN_PASSWORD" "$_DOCKER_REGISTRY"
|
||||
echo ">> Installing captain"
|
||||
curl -sSL https://raw.githubusercontent.com/tomgco/captain/master/install.sh | bash
|
||||
export PATH=$HOME/.captain/bin:$PATH
|
||||
|
||||
git stash -u
|
||||
echo ">> running captain build"
|
||||
captain build -N "$_DOCKER_REGISTRY/yldio/joyent-dashboard-"
|
||||
echo ">> running captain push"
|
||||
captain push -N "$_DOCKER_REGISTRY/yldio/joyent-dashboard-"
|
@ -34,7 +34,9 @@ deployment:
|
||||
production: # just a label; label names are completely up to you
|
||||
branch: master
|
||||
commands:
|
||||
- ./bin/push-images
|
||||
- ./bin/docker-login
|
||||
- make -j2 build
|
||||
- make -j2 push
|
||||
- ./bin/deploy
|
||||
|
||||
## Custom notifications
|
||||
|
@ -32,6 +32,14 @@ test-ci:
|
||||
start:
|
||||
yarn run start
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
|
||||
|
||||
.PHONY: push
|
||||
push:
|
||||
docker push quay.io/yldio/joyent-dashboard-$(NAME)
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
$(bindir)/eslint .
|
||||
|
@ -32,6 +32,14 @@ test-ci:
|
||||
compile: install
|
||||
NODE_ENV=production ./node_modules/.bin/webpack --config webpack/index.js
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
|
||||
|
||||
.PHONY: push
|
||||
push:
|
||||
docker push quay.io/yldio/joyent-dashboard-$(NAME)
|
||||
|
||||
.PHONY: start
|
||||
start:
|
||||
node server
|
||||
|
@ -39,6 +39,14 @@ install-production: install
|
||||
compile: install
|
||||
NODE_ENV=production ./node_modules/.bin/webpack --config webpack/index.js
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
docker build -t quay.io/yldio/joyent-dashboard-$(NAME) .
|
||||
|
||||
.PHONY: push
|
||||
push:
|
||||
docker push quay.io/yldio/joyent-dashboard-$(NAME)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
@rm -rf node_modules
|
||||
|
Loading…
Reference in New Issue
Block a user