【问题标题】:Create Azure pipelines from scripts从脚本创建 Azure 管道
【发布时间】:2019-03-28 20:29:27
【问题描述】:

我在玩 Azure Build 管道。我的目标是开发人员应该能够为他们的项目创建一个构建管道。但他/她不会通过 Azure DevOps 控制台创建它,而是会触发一个构建作业,为他们创建构建管道。我能够通过拥有一个通用的 Template.json 并使用 PowerShell 脚本调用它来实现它。

但我发现我们可以通过在我们的存储库中添加一个 azure-pipelines.yaml 来创建构建管道。所以我有两个我正在努力面对的问题。

  1. 将读取 azure-pipelines.yaml 并为用户创建构建管道的 Azure 管道作业。
  2. 读取保存在 repo 子目录中的 Azure-pipelines.yaml 文件。

感谢您的帮助。

谢谢。

【问题讨论】:

  • 对于一个应用程序(或每种类型的应用程序的一个 repo)有一个基本的 git repo 怎么样,你可以有一个基本的 azure-pipelines.yaml?
  • @LiviuCostea 是的。这解决了问题。但是我们的手被束缚了。我们无法更改回购结构

标签: azure-devops azure-pipelines


【解决方案1】:

已解决:)

  1. 创建了一个 powershell 脚本,该脚本使用从现有管道作业导出的 json 文件。
  2. JSON 文件将使用 azure-pipelines.yml 文件来创建任务。
  3. Powershell 脚本更新 json 文件并进行 rest 调用以创建管道。

文档很差。我无法找到有关通过代码创建管道的文档。我检查了请求正文,同时保存了我能够从中获取详细信息以引用 yml 文件的管道。

【讨论】:

  • 非常好的解决方案@bkr。 Jenkins 提供了非常好的 DSL 来在代码中创建管道。我计划在我们的组织中做一些非常相似的事情。这个解决方案是你有机会开源的吗?如果是,我在哪里可以找到它?
【解决方案2】:

您可以使用AzurePipelinesPS 来获取-APBuildDefinition 和发布-APBuildDefinition。

函数使用 return 和 post json 对象。我用令牌修改了 json 模板并需要更新它们。 Format-APTemplate 将替换 json 模板中的标记。

还有发布管道的功能; Get-APReleaseDefinition 和 Publish-APReleaseDefinition。

【讨论】:

  • 嗨,您知道有关此的任何文档吗?我将使用脚本/模板在 AzureDevOps 上实现构建和部署。 Azure doc 上没有与此相关的好信息。
  • AzurePipelinesPS 是我编写的用于包装 AzureDevops API 的 powershell 模块。 github 页面包含有关如何创建会话的信息,并且所有 api 端点都记录在 Microsoft 文档中。你被什么困住了?
  • 感谢您的回复。我使用以下命令使其工作: $ curl -X POST -H "Content-Type: application/json" -u myusername:mytoken -d @build.json dev.azure.com/myorg/myrepo/_apis/build/…
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 2020-05-03
  • 2021-08-20
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
相关资源
最近更新 更多