gpt4 book ai didi

jenkins - 如何检查构建状态,从 BitBucket 管道运行 Jenkins 作业?

转载 作者:行者123 更新时间:2023-12-04 17:31:37 25 4
gpt4 key购买 nike

我们使用 BitBucket 来托管我们的 Git 存储库。

我们在本地托管的 Jenkins 服务器中定义了构建作业。

我们想知道我们是否可以使用 BitBucket 管道在 Jenkins 中触发构建,在拉取请求批准后等。

在 Jenkins 中通过其 REST API 触发作业非常简单。

1: curl --request POST --user $username:$api_token --head http://jenkins.mydomain/job/myjob/build

这将返回位置响应 header 。通过对其执行 GET,我们可以获得有关排队项的信息:​​

2: curl --user $username:$api_token http://jenkins.mydomain/queue/item/<item#>/api/json 

这将返回描述排队项目的 JSON,指示该项目是否被阻止以及原因。如果不是,它会包含构建的 URL。这样,我们就可以检查构建本身的状态:

3: curl -–user $username:$api_token http://jenkins.mydomain/job/myjob/<build#>/api/json

这将返回更多的 json,指示作业当前是否正在构建,如果已完成,则构建是否成功。

现在 BitBucket 管道步骤在 Docker 容器中运行,并且必须在 Linux 上运行。我们的 Jenkins 构建作业在许多平台上运行,并非所有平台都是 Linux。但 BitBucket 不应该关心。可以在 Linux 中进行必要的 REST API 调用,就像我在上面的示例中一样。

但是我们如何编写脚本呢?

我们是否创建了一个运行 shell 脚本的单一步骤,该脚本运行命令 #1,然后重复调用命令 #2 直到构建开始,然后重复调用命令 #3 直到构建完成?

或者我们创建三个步骤,每个步骤一个? BitBucket 管道是否提供步骤循环?调用一个步骤,稍等片刻,然后再调用直到成功?

最佳答案

我认为您应该使用 Bitbucket 管道或 Jenkins 管道。两者同时使用将为您提供许多选择,并使项目比应有的更复杂。

关于jenkins - 如何检查构建状态,从 BitBucket 管道运行 Jenkins 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59202912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com