【问题标题】:Jenkins and Docker詹金斯和码头工人
【发布时间】:2014-12-11 05:16:29
【问题描述】:

有没有办法通过 Jenkins 实现自动化来部署和运行容器?我听说我们可以使用 Docker 插件。但是没有任何教程或信息可以解释我们如何一起使用 Jenkins 和 Docker。使用它们的任何人都愿意分享吗?

【问题讨论】:

  • 我觉得这个问题太大了;如果遇到困难,您可以尝试自己做这件事并提出一个具体问题吗?
  • Docker 的 Jenkins 插件主要用于运行 Jenkins 从站。这是你的意图吗?如果你打算使用 Jenkins 来部署容器,那么简单地创建一个运行 docker 命令的 SSH 作业可能会更简单。

标签: jenkins containers docker jenkins-plugins


【解决方案1】:

首先在我的实现中,Jenkins 实际上是 Docker 中的一个容器。

这就是看起来事情变得奇怪的地方:我实际上在那个容器内安装了 docker-ce,而不是因为我想运行 Docker-in-Docker。我禁止 Docker 守护进程运行(sysctl),但我想要命令行。

我在 Jenkins 主机上安装 docker-compose 和 docker-machine 并将“jenkins”用户 ID 添加到 docker 组。

我还有很多其他步骤,但基本上它们与用户将要经历的步骤相同(除了它们都在我的 Docker 文件中),我将“docker-machine env”的结果添加到Jenkins 配置中的全局变量。

头晕了吗?

我让 Jenkins 部署的所有应用程序都有一个“jenkins”子目录,其中包含一个 Jenkins 文件,以将脏工作作为管道执行。 (构建/测试/部署)

例如,Java 应用程序的部署涉及将应用程序的 warfile 复制到正确的目录,并且当容器(或多个容器)启动应用程序引擎(tomcat、Jboss 等)时将其拾取并运行应用程序。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2019-07-19
    • 2018-07-01
    • 1970-01-01
    • 2019-03-17
    • 2020-09-29
    • 2023-04-01
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多