如何在PR上触发bitbucket构建并从jenkins报告结果。我们有一台Jenkins机器,在Aws env中没有公共IP地址,因此bitbucket拉取请求插件不是我们的选择
s71maibg1#
如果您在自己的内部网中运行Bitbucket服务器,并且无法从Jenkins机器访问BB服务器,那么恐怕您无能为力。但是,如果您运行BB云或您的BB服务器示例可以从外部世界访问,那么有一个解决方案。你需要首先在Jenkins中创建一个轮询Job,它每隔几分钟运行一次,并调用Bitbucket pull requests API。获取所有打开的PR,这将是构建的潜在候选者。因为你不想构建一个已经构建的PR,所以你需要获取PR中的最新提交。然后,检查该提交是否已经构建。如果没有,则触发构建该提交的下游作业。一旦构建完成,请确保更新该提交的构建状态,说明它已经构建,以便不会再次构建。所有需要的端点都可以在文档中找到。如果你运行的是BB云,请确保你查看了云文档;如果你运行的是BB服务器,请确保你查看了服务器文档。正如你所看到的,这是一个迂回的方法,但它是你不使用插件的最佳选择。
1条答案
按热度按时间s71maibg1#
如果您在自己的内部网中运行Bitbucket服务器,并且无法从Jenkins机器访问BB服务器,那么恐怕您无能为力。但是,如果您运行BB云或您的BB服务器示例可以从外部世界访问,那么有一个解决方案。
你需要首先在Jenkins中创建一个轮询Job,它每隔几分钟运行一次,并调用Bitbucket pull requests API。获取所有打开的PR,这将是构建的潜在候选者。因为你不想构建一个已经构建的PR,所以你需要获取PR中的最新提交。
然后,检查该提交是否已经构建。如果没有,则触发构建该提交的下游作业。一旦构建完成,请确保更新该提交的构建状态,说明它已经构建,以便不会再次构建。
所有需要的端点都可以在文档中找到。如果你运行的是BB云,请确保你查看了云文档;如果你运行的是BB服务器,请确保你查看了服务器文档。
正如你所看到的,这是一个迂回的方法,但它是你不使用插件的最佳选择。