我需要的是一个命令,该命令使用特定的环境变量在 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/