【发布时间】:2019-11-11 19:57:41
【问题描述】:
我已经设置了我的 CI,以便当所有测试都成功时,我可以手动创建一个发布标签,以便在 master 分支上进行新的提交。为此,我在 CI 配置中创建了一个手动步骤,如下所示:
.release-template:
stage:
releasing
dependencies:
- assemble
script:
- ./gradlew reckonTagPush -Preckon.scope=$scope -Preckon.stage=$stage -Dorg.ajoberstar.grgit.auth.username=$GIT_USER -Dorg.ajoberstar.grgit.auth.password=$GIT_PASSSWORD
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
此设置因身份验证错误而失败。
Execution failed for task ':reckonTagPush'.
> org.eclipse.jgit.api.errors.TransportException: https://gitlab-ci-token@gitlab.com/<group>/<project>.git: not authorized
我在 gitlab.com 上的共享运行器上运行它。
用户名和密码在项目的 gitlab ci 变量中配置。当在 gitlab 运行器中使用的同一 docker 映像中本地运行它时,它工作正常。所以 gitlab runner 执行 gradle 任务或与 gitlab git repo 通信的方式一定有什么特别之处。
【问题讨论】:
-
reckon是什么,是 Gradle 内置命令吗? -
reckon 是一个使用 git 标签进行版本控制的 gradle 插件。这意味着 gradle 脚本中没有版本字段,因此没有“bump version”提交。只有标签。
标签: gitlab-ci