作者:愿今夜不再孤单 | 来源:互联网 | 2022-11-29 10:16
我已经看到了:gitlab-ci.yml中的“ git clone project2”?以及类似答案的类似帖子,暗示一个人应该使用Git子模块。
在我的案例中,如果不讨论有关Git中的子模块是否工作正常的争论,那根本就不是一个选择(要检查的其他项目取决于传递给作业触发器的论点,或者至少取决于它。应该)。
另一个要求是,我需要能够跟踪启动触发器链的用户。即,对我的个人令牌进行硬编码,或者只是任何令牌都不会这样做:我需要GitLab来使用执行作业的用户的权限才能克隆其他存储库。
除了放弃GitLab并寻找成熟的CI替代方案之外,还有什么方法可以做到这一点?
1> vladkras..:
As New CI job permissions model states that there are 2 options: use gitlab-ci-token:${CI_JOB_TOKEN}
or write it to ~/.netrc
(doesn't work for me).
But we have multiple dependent repositories defined in package.json
so our solution is to overwrite git config
git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@your-gitlab.com/".insteadOf "ssh://git@your-gitlab.com/"