[DO-1569] change-docker-repo-template (!3)
- Добавлена возможность использовать секреты HVault - Actions берутся из локального зеркала - доп. правки Co-authored-by: Yaroslav Bondarenko <yaroslav.bondarenko@avroid.tech> Reviewed-on: https://git.avroid.tech/Templates/template-docker-repository/pulls/3 Reviewed-by: Vasiliy Chipizhin <vasiliy.chipizhin@avroid.team> Reviewed-by: Aleksandr Vodyanov <aleksandr.vodyanov@avroid.team>
This commit is contained in:
@@ -5,27 +5,43 @@ on: [push]
|
||||
env:
|
||||
CI: ON
|
||||
|
||||
# Allow workflow to be manually run from the Gitea UI
|
||||
# Allow workflow to be manually run from the Gitea UI
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_and_push:
|
||||
runs-on: docker
|
||||
runs-on: act-runner-label
|
||||
name: Builds the image and publishes to docker hub
|
||||
container:
|
||||
image: harbor.avroid.tech/docker-hub-proxy/catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- run: printenv
|
||||
|
||||
- name: Retrieve secrets from Hashicorp Vault
|
||||
id: retrieve-secrets
|
||||
uses: https://git-mirrors.avroid.tech/Mirrors-actions/vault-action.git@v3
|
||||
with:
|
||||
url: https://vault.avroid.tech
|
||||
method: approle
|
||||
roleId: ${{ secrets.HVAULT_GITEA_ACTIONS_ROLE_ID }}
|
||||
secretId: ${{ secrets.HVAULT_GITEA_ACTIONS_SECRET_ID }}
|
||||
# Ниже указываем {путь к секрету в HVault} {имя ключа секрета} | {имя переменной окружения куда засетим значение секрета}
|
||||
# Доступ к секретам осуществляется через заранее созданный AppRole "gitea-actions-role" в HVault и подключенную
|
||||
# к ней политику "gitea-actions". В политике описывается доступ к необходимым секретам. Политику можно посмотреть
|
||||
# через UI Hashicorp Vault.
|
||||
secrets: |
|
||||
team-devops/data/services/registry/Harbor/harbor.avroid.tech 'service.user.ci.login' | HARBOR_LOGIN ;
|
||||
team-devops/data/services/registry/Harbor/harbor.avroid.tech 'service.user.ci.token' | HARBOR_TOKEN ;
|
||||
|
||||
- name: Login to Harbor Docker Registry
|
||||
uses: docker/login-action@v3
|
||||
uses: https://git-mirrors.avroid.tech/Mirrors-actions/login-action@v3
|
||||
with:
|
||||
registry: https://harbor.avroid.tech
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_TOKEN }}
|
||||
username: ${{ env.HARBOR_LOGIN }}
|
||||
password: ${{ env.HARBOR_TOKEN }}
|
||||
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
uses: https://git-mirrors.avroid.tech/Mirrors-actions/checkout@v4
|
||||
|
||||
- name: "Build image"
|
||||
run: |
|
||||
|
||||
8
Makefile
8
Makefile
@@ -8,7 +8,7 @@ DOCKER_REGISTRY = harbor.avroid.tech
|
||||
|
||||
CI_FLAGS =
|
||||
|
||||
ifeq ($(CI), false)
|
||||
ifeq ($(CI), true)
|
||||
CI_FLAGS = --no-cache
|
||||
endif
|
||||
|
||||
@@ -23,9 +23,13 @@ build:
|
||||
DOCKER_BUILDKIT=1 docker build $(CI_FLAGS) \
|
||||
-f Dockerfile \
|
||||
--platform linux/amd64 \
|
||||
-t $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION) src/
|
||||
--build-arg IMAGE_TAG=$(IMAGE_TAG) \
|
||||
-t $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION) .
|
||||
|
||||
push:
|
||||
ifeq ($(CI), false)
|
||||
docker login https://$(DOCKER_REGISTRY)
|
||||
endif
|
||||
docker push $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION)
|
||||
|
||||
getTag:
|
||||
|
||||
Reference in New Issue
Block a user