【发布时间】:2021-11-02 19:53:16
【问题描述】:
我想将标签推送到正在运行作业的 gitlab 存储库。 我正在使用使用 grgit/JGit API 的 Gradle 插件。 Reckon 正在管理语义版本控制,并且能够创建标签并将其推送到 Git 存储库。
首先我想在 GitLab SaaS 中运行。而且我假设我需要一种令牌,因此出于安全原因我不必传递我的个人凭据? 然后我还必须在 GitLab 托管环境中运行它。但我希望在两种环境中它都应该以相同的方式工作。
有一些类似部署密钥的东西,但我真的找不到任何关于如何使用它们的参考资料。但也许部署密钥并不是真正为这种操作而设计的。
.release-template:
stage:
release
image: adoptopenjdk:11-jdk-hotspot
dependencies:
- deliver
script:
- |
./gradlew reckonTagPush -Preckon.scope=$scope -Preckon.stage=$stage \
-Dorg.ajoberstar.grgit.auth.username=${???} \
-Dorg.ajoberstar.grgit.auth.password=${???}
artifacts:
paths:
- build/
#only:
# - master
when: manual #ONLY MANUAL RELEASES, ONLY FROM MASTER
release-major:
extends: .release-template
variables:
scope: major
stage: final
release-minor:
extends: .release-template
variables:
scope: minor
stage: final
release-patch:
extends: .release-template
variables:
scope: patch
stage: final
【问题讨论】:
标签: gradle gitlab gitlab-ci git-push