【问题标题】:Auto deploy docker images on push推送时自动部署 docker 镜像
【发布时间】:2022-01-21 15:07:29
【问题描述】:

首先,我不熟悉持续部署。我目前有一个运行 3 个 docker 容器(Flask、MongoDb、Nginx)的 VPS,我使用 docker-compose 从 DockerHub 中提取这些容器。我想要做的是在我的 github 存储库中推送一些代码时自动部署这 3 个容器。我认为 Ansible 可以,但我从未使用过。

有人可以解释我该怎么做吗? 非常感谢!

【问题讨论】:

  • 听起来是一个很好的 webhook 用例。 Docker 集线器可以向您的 VPS 上的某个服务端点发送一个帖子,触发上拉/上拉。
  • @mathis 知道 Github Actions 是什么吗? docs.github.com/en/actions/publishing-packages/…
  • 最后我会使用 Jenkins :)
  • @phd 这仅用于在 DockerHub 上发布,不用于在 VPS 上自动部署

标签: docker github ansible continuous-integration continuous-deployment


【解决方案1】:

最后我会使用 Jenkins :)

这意味着一个 webhook,正如 Guy Salton

在“How to Integrate Your GitHub Repository to Your Jenkins Project”中所解释的那样

这意味着您的 Jenkins 服务器可以通过面向 Internet 的公共 URL 访问,这在公司环境中工作时并不总是显而易见的。

GitHub Actions "Publishing Docker images" 可以帮助将图像发布到 DockerHub,但您仍然需要侦听/检测这些事件,以便您的 Jenkins 触发作业拉取所述 ppublished 图像。

为此,使用 regclient/regclient 的常规调度程序 Jenkins 作业可以帮助检查最新发布的 SHA2 映像 ID 是否已更改。
使用“Container Registry Management with Brandon Mitchell: DevOps and Docker (Ep 108)”查看更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    相关资源
    最近更新 更多