appveyor - 在特定提交上触发 Appveyor 构建

标签 appveyor

我需要的是一个命令,该命令使用特定的环境变量在 Appveyor 上启动特定提交的构建。从指南中可以看出:

  • 来自构建工作 API:Start-AppveyorBuild,它允许您传入环境变量,但只允许您指定分支,而不是提交。
  • 通过 REST API:POST/api/builds,它允许您选择提交哈希,但无法为后续build设置任何环境变量。

什么可以让我同时完成这两项任务?我可以使用构建工作 API 或 REST API(尽管 REST 更好,这样我就可以在任何地方运行它)。

更广泛的上下文是我想要一个构建来启动一个单独的构建,该构建将运行相同提交的部署脚本(同一分支不够好 - 分支可能已更新)。它们需要单独构建,因为第一次和第二次构建一起花费的时间对于 Appveyor 的 60 分钟时间限制来说太长。环境变量用于“配置”构建,以便部署它而不是执行其他操作。

最佳答案

检查此示例(如果您需要我们将超时时间增加到 90 分钟,请写信给 appveyor.com 团队)

$token = '<API_Token>'

$headers = @{
  "Authorization" = "Bearer $token"
  "Content-type" = "application/json"
}

$body = @{
    accountName="<Your_account>"
    projectSlug="<Your_project_slug>"
    branch="<Your_branch>"
    commitId="<Your_commit_id>"
}
$body = $body | ConvertTo-Json

Invoke-RestMethod -Uri 'https://ci.appveyor.com/api/builds' -Headers $headers  -Body $body -Method POST

关于appveyor - 在特定提交上触发 Appveyor 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51167245/

相关文章:

node-gyp - appveyor - 如何使用 %HOMEPATH% 设置环境变量

powershell - 如何使用 Appveyor 将 Powershell 模块发布到 PowershellGallery?

github - Appveyor 上的 GitHub API 未经授权的响应

c# - appveyor 中的 xunit.console 在寻找 xunit.dll 时失败

f# - 如何使用GitVersion环境变量

windows - 如何让AppVeyor使用不同版本的Emacs?

pypy - 如何在 appveyor 上安装 PyPy?

uwp - 使用 MSBuild 构建 Windows 应用商店应用程序时如何跳过打包步骤?

appveyor - 如何通过 appveyor.yml 在后台运行程序?