собирает проект из исходников с помощью 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
правило у ткбя не подходит под условие
Обсуждают сегодня