gpt4 book ai didi

docker - 如何在每个 Pull Request 上通过 Docker 启动应用程序?

转载 作者:IT老高 更新时间:2023-10-28 21:23:02 25 4
gpt4 key购买 nike

我运行 Jenkins,我的应用程序是 dockerized,即当我运行容器时,它会公开端口 3000,我可以将浏览器指向那里。在每个 Github PR 上,我想将该 git commit 部署到某个正在运行的容器中,并让 Jenkins 将可以访问它的链接发回 PR。在任何 PR 更新时,它都会自动重新部署,而在 PR 关闭/解决时,它会被拆除。

我看过 kubernetes 和一个小 Rancher ,但假设我只能部署到一个盒子,那么最简单的方法是什么?

最佳答案

有一个jenkins插件github-pullrequest可以解决你的问题。

先决条件:

  1. 如果您想通过 webhook 触发构建,您可以通过 Internet 访问 jenkins 服务器。
  2. 您有一个 github API token 来访问/管理您的 git 存储库,它可以在 settings 中自己生成.

请按照指南 configuration设置您的 jenkins 与 github 的集成。

配置后:

  • 您可以通过 PR 事件触发您的构建:opened/commit changed/close,或带有特定模式的评论强>。
  • 您可以通过环境变量 ${GITHUB_PR_STATE} 获得 PR 状态,因此您可以根据特定值启动或停止容器。
  • 您可以在启动 docker 容器后向 PR 发布评论以告知您的 Web 服务的地址。

关于使用多个 PR 公开容器的端口,您可以使用 -p 3000 运行容器,它将自动公开 docker 主机范围内的端口,docker port <container>会显示具体的端口号,例如:

  • container1地址 <host>:32667对于 PR1
  • container2地址 <host>:35989对于 PR2

关于docker - 如何在每个 Pull Request 上通过 Docker 启动应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540822/

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