172 похожих чатов

Всем привет. У меня такая задача: pipeline для простой сборки Этот pipeline просто

собирает проект из исходников с помощью gradle, командой gradle clean build

В проекте используется gradle-wrapper поэтому сборщику нужен будет доступ в интернет чтобы скачать gradle-wrapper и куда-то его закешировать

Pipeline должен автоматически запускаться при коммитах в публичные ветки: develop, master, release/.
Нужна возможность запускать этот же pipeline вручную в feature, bugfix и hotfix ветках. Это нужно для разработчиков, чтобы они могли проверить работоспособность своей ветки.

Это я сделал.
# АВТОМАТИЧЕСКИЙ ЗАПУСК
build:
stage: build
script:
- ./gradlew clean build -PrepositoryUser=$Nexus_Repo_User_Protect -PrepositoryPassword=$Nexus_Repo_Pass_Protect
rules:
- if: $CI_COMMIT_BRANCH == "develop" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "release"
tags:
- gradle

# РУЧНОЙ ЗАПУСК
manual build:
stage: manual_build
script:
- ./gradlew clean build
rules: # СОЗДАТЬ РУЧНОЙ PIPELINE
- if: $CI_COMMIT_BRANCH == "feature" || $CI_COMMIT_BRANCH == "bugfix" || $CI_COMMIT_BRANCH == "hotfix"
when: manual
tags:
- gradle

Далее идёт следующая задача:
pipeline для релиза сборки в корпоративный maven nexus
Этот pipeline собирает проект из исходников с помощью gradle, командой gradle clean build
Следующим шагом, с помощью команды gradle publish выполняется публикация артефактов. При этом нужно передавать переменные окружения для доступа к maven nexus repositoryUser="тут имя пользователя который может публиковать" repositoryPassword="тут пароль этого пользователя"
Этот pipeline должен срабатывать при добавлении нового git TAG.
Допустимый формат тэга a.b или a.b.c, если тэг не соответствует - как-нибудь обругаться что тэг не соответствует формату
При ручном запуске, оставить возможность запускать pipeline по хэшу коммита

А вот тут я не могу понять как это сделать в пределах одного пейплайна.
Всё, что я сделал это:
publish to nexus:
stage: publish
script:
- ./gradlew publish -PrepositoryUser=$Nexus_Repo_User -PrepositoryPassword=$Nexus_Repo_Pass
only:
- tags
- /\d+.\d+(\.\d+)?/gm
tags:
- gradle

1 ответов

23 просмотра

правило у ткбя не подходит под условие

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта