Skip to content
Snippets Groups Projects
Commit 92b29e18 authored by Alena Petraki's avatar Alena Petraki :nail_care_tone1:
Browse files

Добавлено создание релизной ветки

parent 67dc7df9
No related branches found
No related tags found
No related merge requests found
......@@ -40,11 +40,17 @@ prepare_release:
CURRENT_VERSION=$(git describe --tags --abbrev=0)
RELEASE_VERSION=$CURRENT_VERSION
# Релиз perxis-proto - это всегда изменения апи и хотфиксом быть не может. Выполняется только при наличии изменений
if [ $HOTFIX_RELEASE != "true" ] && [ $(git rev-list $CURRENT_VERSION..HEAD --count) -gt 0 ]; then
# Релиз выполняется только при наличии изменений
if [ $(git rev-list $CURRENT_VERSION..HEAD --count) -gt 0 ]; then
# Если релиз на мастере, то устанавливается версия равная версии в Perxis
RELEASE_VERSION=$PERXIS_RELEASE_VERSION
# Если релиз хотфиксовый, то увеличиваем патчевую версию
if [ $HOTFIX_RELEASE == "true" ]; then
RELEASE_VERSION=$(echo $CURRENT_VERSION | awk -F . '{print $1"."$2"."$3+1}')
fi
fi
# Если новая версия совпадает со старой, значит изменений не было, и выпускать новый релиз не нужно
NEEDS_RELEASE=false
if [ "$RELEASE_VERSION" != "$CURRENT_VERSION" ]; then
......@@ -70,6 +76,29 @@ prepare_release:
# ----- release -----
create_release_branch:
stage: release
image: bitnami/git:latest
variables:
GIT_DEPTH: 0
GIT_STRATEGY: clone
rules:
- if: $CI_PIPELINE_SOURCE == "pipeline" && $PREPARE_RELEASE != "true"
- if: $CI_PIPELINE_SOURCE == "web"
script:
- |
if [ $NEEDS_RELEASE == "true" ] && [ $CI_COMMIT_BRANCH == "master" ]; then
git config user.email "gitlab@ci-cd.pipeline"
git config user.name "gitlab-ci"
git remote remove gitlab_origin || true
git remote add gitlab_origin https://release_gitlab_ci:$PERXIS_PROTO_REPO_ACCESS_TOKEN@git.perx.ru/perxis/perxis-go.git
RELEASE_BRANCH=${VERSION:1:-2}
git branch release/$RELEASE_BRANCH || true
git push gitlab_origin release/$RELEASE_BRANCH
fi
# Релиз выполняется только при `$NEEDS_RELEASE:true`. Если релиз не нужен, джоба выйдет с
# кодом 203, и это верное поведение
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment