Azure Pipelines:推送被拒绝,因为一个或多个提交包含作者电子邮件“”,与策略指定的模式不匹配

问题描述 投票:0回答:1

Azure 管道:
我在尝试使用 Maven 命令构建和发布微服务时遇到了问题

mvn release:prepare release:perform
。管道抛出以下错误:

error: remote unpack failed: error VS403702: The push was rejected because one or more commits contain author email '' which does not match the policy-specified patterns.

似乎由于作者电子邮件为空的提交而导致推送被拒绝,这不符合组织的提交电子邮件政策。

它适用于用户{{您的项目名称}}构建服务({您的组织}),该用户的电子邮件地址为空。

git log --pretty=format:"%h %an <%ae>" | grep '<>'
的结果:

0fc26c311 {{您的项目名称}}构建服务({您的组织}) <>

此外,我已经有一些为存储库策略/提交作者电子邮件验证指定的有效电子邮件。

azure-pipelines azure-pipelines-yaml azure-git-deployment azure-releases
1个回答
0
投票

mvn release:prepare
”命令将更新 POM 文件,然后将其与新的提交一起推送到 Azure Repos 中的源存储库。

如果您启用了“

Commit author email validation
”选项并在Repository Policies上设置了模式,则在推送新提交时,它将检查提交作者的电子邮件地址是否与模式匹配。如果不匹配,则会返回此错误。

enter image description here

当尝试从 Azure Pipelines 提交新更改并将其推送到 Azure Repos 时,默认情况下该任务将使用生成服务帐户。为了避免管道中的问题,在运行“

mvn release:prepare
”命令之前,您可以尝试运行“
git config
”命令来设置可以匹配存储库策略上设置的模式的提交作者.

steps:
. . .

- bash: |
   git config --global user.name "User01"
   git config --global user.email [email protected]
  displayName: 'Set Commit Author'

. . .

使用此方法,当后续步骤提交新更改时,他们将使用上面步骤设置的 Commit Author。


© www.soinside.com 2019 - 2024. All rights reserved.