mirror of https://github.com/status-im/consul.git
add dev docker image upload (#5879)
* add dev docker image upload * remove the go cache since that isn't needed * add comment and image labels * get password from stdin
This commit is contained in:
parent
1ea7a34756
commit
3558f9cf6d
|
@ -201,6 +201,21 @@ jobs:
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# upload dev docker image
|
||||||
|
dev-upload-docker:
|
||||||
|
docker:
|
||||||
|
- image: circleci/golang:latest # use a circleci image so the attach_workspace step works (has ca-certs installed)
|
||||||
|
environment:
|
||||||
|
<<: *ENVIRONMENT
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
# get consul binary
|
||||||
|
- attach_workspace:
|
||||||
|
at: bin/
|
||||||
|
- setup_remote_docker:
|
||||||
|
docker_layer_caching: true
|
||||||
|
- run: make ci.dev-docker
|
||||||
|
|
||||||
# Nomad 0.8 builds on go0.10
|
# Nomad 0.8 builds on go0.10
|
||||||
# Run integration tests on nomad/v0.8.7
|
# Run integration tests on nomad/v0.8.7
|
||||||
nomad-integration-0_8:
|
nomad-integration-0_8:
|
||||||
|
@ -457,13 +472,16 @@ workflows:
|
||||||
test-integrations:
|
test-integrations:
|
||||||
jobs:
|
jobs:
|
||||||
- dev-build
|
- dev-build
|
||||||
- dev-upload-s3:
|
- dev-upload-s3: &dev-upload
|
||||||
requires:
|
requires:
|
||||||
- dev-build
|
- dev-build
|
||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
ignore:
|
ignore:
|
||||||
- /^pull\/.*$/ # only push dev builds from non forks
|
- /^pull\/.*$/ # only push dev builds from non forks
|
||||||
|
- dev-upload-docker:
|
||||||
|
<<: *dev-upload
|
||||||
|
context: consul-ci
|
||||||
- nomad-integration-master:
|
- nomad-integration-master:
|
||||||
requires:
|
requires:
|
||||||
- dev-build
|
- dev-build
|
||||||
|
|
28
GNUmakefile
28
GNUmakefile
|
@ -47,6 +47,14 @@ UI_BUILD_TAG?=consul-build-ui
|
||||||
BUILD_CONTAINER_NAME?=consul-builder
|
BUILD_CONTAINER_NAME?=consul-builder
|
||||||
CONSUL_IMAGE_VERSION?=latest
|
CONSUL_IMAGE_VERSION?=latest
|
||||||
|
|
||||||
|
################
|
||||||
|
# CI Variables #
|
||||||
|
################
|
||||||
|
CI_DEV_DOCKER_NAMESPACE?=hashicorpdev
|
||||||
|
CI_DEV_DOCKER_IMAGE_NAME?=consul
|
||||||
|
CI_DEV_DOCKER_WORKDIR?=bin/
|
||||||
|
################
|
||||||
|
|
||||||
DIST_TAG?=1
|
DIST_TAG?=1
|
||||||
DIST_BUILD?=1
|
DIST_BUILD?=1
|
||||||
DIST_SIGN?=1
|
DIST_SIGN?=1
|
||||||
|
@ -131,6 +139,26 @@ dev-docker: linux
|
||||||
@echo "Building Consul Development container - $(CONSUL_DEV_IMAGE)"
|
@echo "Building Consul Development container - $(CONSUL_DEV_IMAGE)"
|
||||||
@docker build $(NOCACHE) $(QUIET) -t '$(CONSUL_DEV_IMAGE)' --build-arg CONSUL_IMAGE_VERSION=$(CONSUL_IMAGE_VERSION) $(CURDIR)/pkg/bin/linux_amd64 -f $(CURDIR)/build-support/docker/Consul-Dev.dockerfile
|
@docker build $(NOCACHE) $(QUIET) -t '$(CONSUL_DEV_IMAGE)' --build-arg CONSUL_IMAGE_VERSION=$(CONSUL_IMAGE_VERSION) $(CURDIR)/pkg/bin/linux_amd64 -f $(CURDIR)/build-support/docker/Consul-Dev.dockerfile
|
||||||
|
|
||||||
|
# In CircleCI, the linux binary will be attached from a previous step at bin/. This make target
|
||||||
|
# should only run in CI and not locally.
|
||||||
|
ci.dev-docker:
|
||||||
|
@echo "Pulling consul container image - $(CONSUL_IMAGE_VERSION)"
|
||||||
|
@docker pull consul:$(CONSUL_IMAGE_VERSION) >/dev/null
|
||||||
|
@echo "Building Consul Development container - $(CI_DEV_DOCKER_IMAGE_NAME)"
|
||||||
|
@docker build $(NOCACHE) $(QUIET) -t '$(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT)' \
|
||||||
|
--build-arg CONSUL_IMAGE_VERSION=$(CONSUL_IMAGE_VERSION) \
|
||||||
|
--label COMMIT_SHA=$(CIRCLE_SHA1) \
|
||||||
|
--label PULL_REQUEST=$(CIRCLE_PULL_REQUEST) \
|
||||||
|
--label CIRCLE_BUILD_URL=$(CIRCLE_BUILD_URL) \
|
||||||
|
$(CI_DEV_DOCKER_WORKDIR) -f $(CURDIR)/build-support/docker/Consul-Dev.dockerfile
|
||||||
|
@echo $(DOCKER_PASS) | docker login -u="$(DOCKER_LOGIN)" --password-stdin
|
||||||
|
@echo "Pushing dev image to: https://cloud.docker.com/u/hashicorpdev/repository/docker/hashicorpdev/consul"
|
||||||
|
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT)
|
||||||
|
ifeq ($(CIRCLE_BRANCH), master)
|
||||||
|
@docker tag $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):$(GIT_COMMIT) $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
||||||
|
@docker push $(CI_DEV_DOCKER_NAMESPACE)/$(CI_DEV_DOCKER_IMAGE_NAME):latest
|
||||||
|
endif
|
||||||
|
|
||||||
changelogfmt:
|
changelogfmt:
|
||||||
@echo "--> Making [GH-xxxx] references clickable..."
|
@echo "--> Making [GH-xxxx] references clickable..."
|
||||||
@sed -E 's|([^\[])\[GH-([0-9]+)\]|\1[[GH-\2](https://github.com/hashicorp/consul/issues/\2)]|g' CHANGELOG.md > changelog.tmp && mv changelog.tmp CHANGELOG.md
|
@sed -E 's|([^\[])\[GH-([0-9]+)\]|\1[[GH-\2](https://github.com/hashicorp/consul/issues/\2)]|g' CHANGELOG.md > changelog.tmp && mv changelog.tmp CHANGELOG.md
|
||||||
|
|
Loading…
Reference in New Issue