2.6 KiB
2.6 KiB
aliases | tags | date | zero-link | parents | linked | link | |||
---|---|---|---|---|---|---|---|---|---|
|
2023-10-21 |
|
|
https://github.com/researchgate/gradle-release |
Чтобы автоматизировать релизы можно использовать специальный Gradle Plugin.
Плагин выполняет следующие действия:
- Проверяет наличие незакомиченных изменений
- Проверяет наличие не опубликованных изменений в удаленный репозиторий
- Проверяет наличие SNAPSHOT зависимостей в файле
gradle.properties
- Меняет версию сервиса со SNAPSHOT на релизную. В диалоговом режиме.
- Делает коммит.
- Меняет версию сервиса с релизной на новый SNAPSHOT. В диалоговом режиме.
- Автоматически публикует изменения, если удаленный репозиторий называется
origin
Настройка плагина в корневом файле build.gradle
buildscript {
repositories {
gradlePluginPortal()
mavenCentral()
}
dependencies {
classpath 'org.kordamp.gradle:jandex-gradle-plugin:1.0.0'
}
}
apply plugin: "net.researchgate.release"
release {
createReleaseTag.enabled = false
pushReleaseVersionBranch = 'rc'
preTagCommitMessage = 'Candidate release version commit: '
newVersionCommitMessage = 'New develop version commit: '
git {
requireBranch.set('stage')
}
}
createReleaseTag.enabled = false
- отключает проставление релизного тегаpushReleaseVersionBranch = 'rc'
- запушит релиз в ветку RCpreTagCommitMessage
иnewVersionCommitMessage
задает текст в релизных коммитахrequireBranch
позволят настроить из какой ветки можно будет выпускать релизы.- GitHub репозиторий с документацией.
gradle relase
Пример того, как будут выглядеть коммиты в Git