update .gitlab-ci.yml

This commit is contained in:
2024-05-25 22:58:06 +03:00
parent d162439eac
commit 3542ac522b

View File

@@ -5,6 +5,7 @@ variables:
KANIKO_CONTEXT: ${CI_PROJECT_DIR}
RELEASE_CLI_IMAGE: harbor.kvazaric.ru/kube-forge/release-cli:v0.18.0
CICD_MULTITOOL: harbor.kvazaric.ru/postgres-tasks/cicd-multitool:2.4
BINARY_BUILDER_IMAGE: golang:alpine
PREPARE_RELEASE:
options:
@@ -79,6 +80,72 @@ build-docker:
if: $CI_COMMIT_REF_NAME =~ /^(master)$/
when: always
build-binary:
stage: build
image:
name: ${BINARY_BUILDER_IMAGE}
entrypoint: [""]
allow_failure: false
tags:
- build
- docker
script:
- CGO_ENABLED=0 GOOS=linux go build -v -o app ./cmd/main/main.go
artifacts:
paths:
- ${CI_PROJECT_DIR}/kube-forge
rules:
- if: $PREPARE_RELEASE == "Yes" && $WITHOUT_BUILD == "Yes"
when: never
- changes:
- build/docker/**/*
- cmd/**/*
- internal/**/*
- kubespray/**/*
- go.sum
- go.mod
- requirements.txt
- ansible.cfg
if: $CI_COMMIT_REF_NAME =~ /^(master)$/
when: always
prepare-tarball:
stage: build
image: ${CICD_MULTITOOL}
allow_failure: false
tags:
- build
- docker
script:
- mkdir archive
- cp kube-forge archive
- cp requirements.txt archive
- cp -R kubespray archive
- tar zcvf kube-forge-${VERSION}-${CI_COMMIT_SHORT_SHA}.tar.gz archive
dependencies:
- make-version-name
- build-binary
needs:
- make-version-name
- build-binary
artifacts:
paths:
- ${CI_PROJECT_DIR}/kube-forge-${VERSION}-${CI_COMMIT_SHORT_SHA}.tar.gz
rules:
- if: $PREPARE_RELEASE == "Yes" && $WITHOUT_BUILD == "Yes"
when: never
- changes:
- build/docker/**/*
- cmd/**/*
- internal/**/*
- kubespray/**/*
- go.sum
- go.mod
- requirements.txt
- ansible.cfg
if: $CI_COMMIT_REF_NAME =~ /^(master)$/
when: always
make-release:
stage: release
image: ${RELEASE_CLI_IMAGE}