创建 GitHub PR 时触发 Jenkins 进行 运行 应用程序测试

Triggering Jenkins to run application tests when GitHub PR is created

我是 Jenkins 的菜鸟,我有一个 Jenkins 服务器 运行 是部署应用程序的可靠剧本。

我希望能够让 Jenkins 运行 一个 ansible 剧本,运行 应用程序 python 在打开 GitHub 拉取请求时进行测试。然后我希望测试结果显示在 Github 仓库中,类似于 Travis 的做法。有什么办法可以用詹金斯实现这一目标吗?谢谢

这可以通过 Jenkins 实现。 此任务有 3 个主要步骤:

  1. 使用 Jenkins GitHub 插件触发构建。
  2. 使用 Jenkins Ansible plugin 在构建过程中执行你的 ansible 剧本。
  3. 用结果更新 GitHub 回购。这部分有点复杂,因为我不相信它有 Jenkins 插件。这可以通过向 Jenkins 构建添加一个 post-build 任务来完成,该任务由一个脚本组成,使用 GitHub's API 根据您的喜好用您的结果更新回购协议。

如果 Jenkins GitHub 插件不允许在拉取请求 webhook 上触发,您将必须实现自己的侦听 GitHub's webhooks API pull_request 事件,然后通过 URL.

远程启动 Jenkins 构建