我有一个只能手动触发的作业。 触发时,它会生成发布版本提交和标签。
我希望能够将该提交和标记推送到当前提交分支,并且推送应该是“由用户”。
有什么办法可以做到这一点吗?我不想使用令牌,因为这会失去用户。
我不想使用令牌,因为这会失去用户。
使用令牌并不会阻止您使用任何特定的 git 作者。一种选择是将 git 配置设置为使用触发作业的用户的电子邮件。这在预定义的环境变量
$GITLAB_USER_EMAIL
中可用。
在编写提交/标签之前,在 git 配置中设置用户电子邮件:
git config --local user.email "$GITLAB_USER_EMAIL"
GitLab 使用提交作者电子邮件将提交与用户关联。因此,如果您这样做,提交和标签将与触发该作业的用户相关联,并且他们的肖像将显示在提交的 UI 中。
如果需要变量
user.name
,您也可以添加 git $GITLAB_USER_NAME
,尽管这并不是绝对必要的。您还可以使用不同的名称来帮助区分自动提交。