2020-02-06 23:58:07 +00:00
|
|
|
docker:
|
|
|
|
- image: circleci/buildpack-deps
|
|
|
|
shell: /usr/bin/env bash -euo pipefail -c
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- setup_remote_docker
|
|
|
|
- run:
|
|
|
|
name: Build Docker Image if Necessary
|
|
|
|
command: |
|
2020-02-18 18:42:50 +00:00
|
|
|
# There is an edge case that would cause an issue here - if dependencies are updated to an exact copy
|
|
|
|
# of a previous version, for example if packge-lock.json is reverted, we need to manually push the new
|
|
|
|
# image to the "latest" tag
|
|
|
|
IMAGE_TAG=$(cat website/Dockerfile website/package-lock.json | sha256sum | awk '{print $1;}')
|
|
|
|
echo "Using $IMAGE_TAG"
|
|
|
|
if ! curl https://hub.docker.com/v2/repositories/hashicorp/nomad-website/tags/$IMAGE_TAG -fsL > /dev/null; then
|
2020-02-06 23:58:07 +00:00
|
|
|
cd website/
|
2020-02-18 18:42:50 +00:00
|
|
|
docker build -t hashicorp/nomad-website:$IMAGE_TAG .
|
|
|
|
docker tag hashicorp/nomad-website:$IMAGE_TAG hashicorp/nomad-website:latest
|
|
|
|
docker login -u $WEBSITE_DOCKER_USER -p $WEBSITE_DOCKER_PASS
|
2020-02-06 23:58:07 +00:00
|
|
|
docker push hashicorp/nomad-website
|
|
|
|
else
|
2020-02-18 18:42:50 +00:00
|
|
|
echo "Dependencies have not changed, not building a new website docker image."
|
2020-02-06 23:58:07 +00:00
|
|
|
fi
|