【问题标题】:create a PR request in azure build pipeline在 Azure 构建管道中创建 PR 请求
【发布时间】:2020-08-29 12:39:26
【问题描述】:

假设我们有以下分支:

  1. 大师
  2. 冲刺
  3. 故事

故事可以合并到 sprint(用于 sprint 项目)或 Master(用于修补程序),我们想要的是:

  1. 要部署到 PreProd 环境的 Sprint 分支
  2. 如果 QA 满意,sprint 分支将合并到 master,然后部署到 UAT,然后是 QA。

我们想保护 master 或 sprint 分支,所以它们只能通过 PR 请求进行更改。

除了 QA 手动创建 PR 然后合并到 master 分支之外,我想在构建任务中执行此操作。所以我尝试使用 Azure CLI 任务来运行批处理:

az repos pr create --auto-complete true --bypass-policy true --bypass-policy-reason "CI build" --repository JerryTestCI  --source-branch R_Current_Sprint --target-branch master

这给了我一个错误: 在您可以运行 Azure DevOps 命令之前,您需要运行登录命令(如果使用 AAD/MSA 身份,则为 az login,如果使用 PAT 令牌,则为 az devops login)来设置凭据。请参阅https://aka.ms/azure-devops-cli-auth 了解更多信息。

但是,由于我的脚本在构建任务中运行,我该如何登录?我试过了,但我的构建只会挂在这个命令上。

az devops login --organization https://XXX.visualstudio.com/ 

那么我的想法是正确的工作方式吗?如果可以,如何在构建管道中创建和完成 PR 请求?

【问题讨论】:

  • 一个可能的谷歌查询是“az devops login non interactive”。它产生了(除其他外)this page on Ms docs。我不确定它是否包含所有详细信息,但它看起来像是无需输入密码即可登录的好一步。
  • 这个问题怎么样?以下答案是否解决了您的问题,如果没有,请告诉我有关此问题的最新信息吗?

标签: git azure-devops


【解决方案1】:

如果没问题,我如何在构建中创建和完成 PR 请求 管道?

解决方案 1

最简单的方法是使用 Create Pull Request Task 并选中“设置自动完成”选项。

解决方案 2

如果您想从 CLI 执行此操作,请生成 PAT 令牌:

将其保存为秘密变量:

使用powershell将其保存为env variable

$env:AZURE_DEVOPS_EXT_PAT = '$(token)'

然后使用任何 az devops 命令,都应该进行身份验证。

【讨论】:

  • 嗨,我尝试了解决方案 2,当使用 cli 命令登录时,它只是永远挂起,并且没有打印出任何错误 $env:AZURE_DEVOPS_EXT_PAT = '$(pat)' az devops login --organization " dev.azure.com/xxxx"
  • 您不必再使用 az devops login 抱歉(已编辑),我的错误!在 env 变量中保存令牌后,使用任何 az devops module 命令,它应该被验证。
【解决方案2】:

另一个解决方案是安装Create Pull Request extension,它会自动从 Build 或 Release 管道为 Azure DevOps 或 GitHub 存储库创建一个 Pull Request,还支持多目标分支。

免责声明:我是作者。

【讨论】:

  • 你应该更新你的任务,让它跨平台运行!
【解决方案3】:

您可以通过以下方式使用 az devops cli 登录:

echo $PersonalAccessToken | az devops login
az devops configure --defaults organization=https://dev.azure.com/$OrganizationName project=$ProjectName

https://docs.microsoft.com/en-us/azure/devops/cli/log-in-via-pat?view=azure-devops&tabs=windows

但是,是的,这应该可以正常工作。

【讨论】:

    猜你喜欢
    • 2023-02-05
    • 2023-01-20
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    相关资源
    最近更新 更多