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 {{您的项目名称}}构建服务({您的组织}) <>
此外,我已经有一些为存储库策略/提交作者电子邮件验证指定的有效电子邮件。
mvn release:prepare
”命令将更新 POM 文件,然后将其与新的提交一起推送到 Azure Repos 中的源存储库。
如果您启用了“
Commit author email validation
”选项并在Repository Policies上设置了模式,则在推送新提交时,它将检查提交作者的电子邮件地址是否与模式匹配。如果不匹配,则会返回此错误。
当尝试从 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。