add prepare release job

This commit is contained in:
2024-05-16 00:05:19 +03:00
parent e59314d440
commit ec5cbdc3c9

View File

@@ -1,10 +1,20 @@
variables: variables:
DOCKER_IMAGE: harbor.kvazaric.ru/kube-forge/kube-forge DOCKER_IMAGE: harbor.kvazaric.ru/kube-forge/kube-forge
KANIKO_IMAGE: harbor.kvazaric.ru/postgres-tasks/kaniko_executor:debug KANIKO_IMAGE: harbor.kvazaric.ru/postgres-tasks/kaniko_executor:debug
KANIKO_CONTEXT: ${CI_PROJECT_DIR} KANIKO_CONTEXT: ${CI_PROJECT_DIR}
RELEASE_CLI_IMAGE: harbor.kvazaric.ru/kube-forge/release-cli:v0.18.0
PREPARE_RELEASE:
options:
- "No"
- "Yes"
value: "No"
description: Create release from this build?
stages: stages:
- build - build
- release
build-docker: build-docker:
variables: variables:
@@ -40,3 +50,22 @@ build-docker:
- ansible.cfg - ansible.cfg
if: $CI_COMMIT_REF_NAME =~ /^(master)$/ if: $CI_COMMIT_REF_NAME =~ /^(master)$/
when: always when: always
make-release:
stage: release
image: ${RELEASE_CLI_IMAGE}
rules:
- if: $PREPARE_RELEASE == "Yes"
script:
- VERSION=$(cat ${CI_PROJECT_DIR}/build/version.txt)
- echo "Preparing release for version ${VERSION}-${CI_COMMIT_SHORT_SHA}"
release: # See https://docs.gitlab.com/ee/ci/yaml/#release for available properties
name: kube-forge:${VERSION}-${CI_COMMIT_SHORT_SHA}
tag_name: "${VERSION}-${CI_COMMIT_SHORT_SHA}"
description: "${VERSION}-${CI_COMMIT_SHORT_SHA}"
assets:
links:
- name: "Docker image"
url: "harbor.kvazaric.ru/kube-forge/kube-forge:${VERSION}-${CI_COMMIT_SHORT_SHA}"
link_type: "image"
when: on_success