ci: push Docker image to container registry
Update the CI pipeline file and Makefile to push the Docker image on tagged releases. Part of dananglin/pleroma-ansible-playbook#14
This commit is contained in:
parent
0cedf15ad9
commit
ed709517c0
2 changed files with 27 additions and 11 deletions
|
@ -1,18 +1,17 @@
|
|||
---
|
||||
stages:
|
||||
- test
|
||||
- publish
|
||||
|
||||
.use-python:
|
||||
image: python:3.7.6-slim-buster
|
||||
|
||||
.docker-dind-service:
|
||||
.docker-build-setup:
|
||||
image: docker:19.03.8
|
||||
services:
|
||||
- docker:19.03.8-dind
|
||||
|
||||
.use-docker:
|
||||
image: docker:19.03.8
|
||||
|
||||
.install-deps: &install-deps
|
||||
.install-make: &install-make
|
||||
- apk add --no-cache make
|
||||
|
||||
test:dockerfile-lint:
|
||||
|
@ -29,11 +28,9 @@ test:dockerfile-lint:
|
|||
- master
|
||||
|
||||
test:docker-image-build:
|
||||
extends:
|
||||
- .docker-dind-service
|
||||
- .use-docker
|
||||
extends: .docker-build-setup
|
||||
script:
|
||||
- *install-deps
|
||||
- *install-make
|
||||
- make image
|
||||
stage: test
|
||||
only:
|
||||
|
@ -61,3 +58,18 @@ test:custom-modules:
|
|||
except:
|
||||
refs:
|
||||
- master
|
||||
|
||||
publish:docker-image:
|
||||
extends: .docker-build-setup
|
||||
before_script:
|
||||
- docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
|
||||
after_script:
|
||||
- docker logout ${CI_REGISTRY}
|
||||
script:
|
||||
- *install-make
|
||||
- make publish
|
||||
only:
|
||||
- /^v[0-9]+(.[0-9]+){2}$/
|
||||
variables:
|
||||
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}
|
||||
IMAGE_TAG: ${CI_COMMIT_REF_NAME}
|
||||
|
|
8
Makefile
8
Makefile
|
@ -5,8 +5,9 @@ PLAYBOOK_FILE ?= "playbook.yml"
|
|||
DOCKERFILE = Dockerfile
|
||||
IMAGE_NAME ?= pleroma-ansible-playbook
|
||||
IMAGE_TAG ?= latest
|
||||
DOCKER_IMAGE = $(IMAGE_NAME):$(IMAGE_TAG)
|
||||
|
||||
PHONY: secret_key_base signing_salt vapid_private_key vapid_public_key test_modules_unit image pleroma
|
||||
PHONY: secret_key_base signing_salt vapid_private_key vapid_public_key test_modules_unit image publish pleroma
|
||||
|
||||
all: secret_key_base signing_salt vapid_key_pair
|
||||
|
||||
|
@ -35,7 +36,10 @@ test_modules_unit:
|
|||
@find ./library -mindepth 1 -maxdepth 1 -type f -name test_*.py | xargs python3
|
||||
|
||||
image:
|
||||
@docker build -f $(DOCKERFILE) -t $(IMAGE_NAME):$(IMAGE_TAG) .
|
||||
@docker build -f $(DOCKERFILE) -t $(DOCKER_IMAGE) .
|
||||
|
||||
publish: image
|
||||
@docker push $(DOCKER_IMAGE)
|
||||
|
||||
pleroma:
|
||||
ansible-playbook --inventory $(INVENTORY) --tags $(PLAYBOOK_TAGS) $(EXTRA_ARGS) $(PLAYBOOK_FILE)
|
||||
|
|
Reference in a new issue