postal/.circleci/config.yml
2018-07-29 16:49:58 -04:00

98 lines
2.6 KiB
YAML

version: 2
jobs:
build-alpine:
machine: true
working_directory: ~/repo/alpine
steps:
- checkout:
path: ~/repo
- run:
name: Build Postal Docker Container
command: docker build -t catdeployed/postal:latest -t catdeployed/postal:alpine .
- run:
name: Export Container
command: mkdir workspace && cd workspace && docker save --output postal_alpine.tar catdeployed/postal:alpine
- persist_to_workspace:
root: workspace
paths:
- postal_alpine.tar
build-ubuntu:
machine: true
working_directory: ~/repo/ubuntu
steps:
- checkout:
path: ~/repo
- run:
name: Build Postal Docker Container
command: docker build -t catdeployed/postal:ubuntu .
- run:
name: Export Container
command: mkdir workspace && cd workspace && docker save --output postal_ubuntu.tar catdeployed/postal:ubuntu
- persist_to_workspace:
root: workspace
paths:
- postal_ubuntu.tar
deploy:
machine: true
working_directory: ~/repo/ubuntu
steps:
- attach_workspace:
at: /tmp/workspace
- run:
name: Load Alpine Image
command: docker load --input /tmp/workspace/postal_alpine.tar
- run:
name: Load Ubuntu Image
command: docker load --input /tmp/workspace/postal_ubuntu.tar
- run:
name: Login to Docker Hub
command: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run:
name: Push to Docker Hub
command: docker push catdeployed/postal:ubuntu
- run:
name: Push to Docker Hub
command: docker push catdeployed/postal:alpine
- run:
name: Login to Docker Hub
command: docker push catdeployed/postal:ubuntu
workflows:
version: 2
nightly:
triggers:
- schedule:
cron: "0 * * * *"
filters:
branches:
only:
- master
- dev
jobs:
- build-alpine
- build-ubuntu
- deploy:
requires:
- build-alpine
- build-ubuntu
filters:
branches:
only:
- master
- dev
commit:
jobs:
- build-alpine
- build-ubuntu
- deploy:
requires:
- build-alpine
- build-ubuntu
filters:
branches:
only:
- master
- dev
notify:
webhooks:
- url: https://hooks.microbadger.com/images/catdeployed/postal/K0vCLtQnFFKukT-LuAEBmGD0cHs=