Add CircleCI configuration
This commit is contained in:
64
.circleci/config.yml
Normal file
64
.circleci/config.yml
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
version: 2
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
docker:
|
||||||
|
- image: circleci/golang:1-stretch-browsers-legacy
|
||||||
|
environment:
|
||||||
|
IMAGE_NAME: "cdalvaro/saltstack-master"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
|
||||||
|
- setup_remote_docker:
|
||||||
|
version: 18.03.1-ce
|
||||||
|
|
||||||
|
- run:
|
||||||
|
name: Docker info
|
||||||
|
command: |
|
||||||
|
docker version
|
||||||
|
docker info
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- cache-v2-{{ .Branch }}
|
||||||
|
paths:
|
||||||
|
- /tmp/cache/layers.tar
|
||||||
|
|
||||||
|
- run:
|
||||||
|
name: Loading docker cache
|
||||||
|
command: |
|
||||||
|
if [[ -f /tmp/cache/layers.tar ]]; then
|
||||||
|
echo "Loading cache ..."
|
||||||
|
docker load -i /tmp/cache/layers.tar
|
||||||
|
docker image ls
|
||||||
|
else
|
||||||
|
echo "Couldn't find any caches"
|
||||||
|
fi
|
||||||
|
- run:
|
||||||
|
name: Build docker image
|
||||||
|
command: |
|
||||||
|
docker build \
|
||||||
|
--pull \
|
||||||
|
--cache-from=${IMAGE_NAME} \
|
||||||
|
--build-arg BUILD_DATE="$(date +"%Y-%m-%d %H:%M:%S%:z")" \
|
||||||
|
--build-arg VCS_REF=$(git rev-parse --short HEAD) \
|
||||||
|
-t ${IMAGE_NAME}:$(cat VERSION) .
|
||||||
|
- run:
|
||||||
|
name: Launching container for testing
|
||||||
|
command: |
|
||||||
|
docker run --rm --detach --name saltstack-master ${IMAGE_NAME}:$(cat VERSION)
|
||||||
|
sleep 120
|
||||||
|
- run:
|
||||||
|
name: Generate docker build image cache
|
||||||
|
command: |
|
||||||
|
mkdir -p /tmp/cache/
|
||||||
|
docker save -o /tmp/cache/layers.tar ${IMAGE_NAME}
|
||||||
|
- save_cache:
|
||||||
|
key: cache-v2-{{ .Branch }}
|
||||||
|
paths:
|
||||||
|
- /tmp/cache/layers.tar
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
version: 2
|
||||||
|
build:
|
||||||
|
jobs:
|
||||||
|
- build
|
||||||
Reference in New Issue
Block a user