【问题标题】:What are the advantages of running Jenkins in a docker container在 docker 容器中运行 Jenkins 有什么好处
【发布时间】:2017-11-10 10:20:44
【问题描述】:

我发现了很多关于如何在 Docker 中运行 Jenkins 的博客,但没有一个真正解释这样做的好处。

这些是我找到的唯一原因:reasons to use Docker

1) 我希望服务器的大部分配置都在版本控制之下。

2) 当我尝试新功能或配置时,我希望能够在我的机器上本地运行构建服务器

3) 我希望能够在新环境中轻松设置构建服务器(例如,在本地服务器上,或在 AWS 等云环境中)

幸运的是,我的Jenkins 服务器有人帮我处理,所以这些点并不重要。 这些是唯一的原因还是我忽略了更好的论点,例如在一次触发许多构建时自动缩放和负载平衡(我认为这可以通过Docker 实现)?

【问题讨论】:

    标签: docker jenkins containers


    【解决方案1】:

    This answerDocker, what is it and what is the purpose 覆盖 What is docker?Why docker? Docker官网也提供了explanation
    这里的简单指南是:

    更快地交付您的应用程序
    更轻松地部署和扩展
    获得更高的密度并运行更多的工作负载
    更快的部署使管理更容易

    对于Jenkins 的使用,以 docker 方式部署/安装更快、更容易。 也许您现在不需要更轻松的比例功能。而且由于 docker 非常轻量级,所以你可以运行更多的工作负载。

    然而

    docker 方式也会带来一些其他的问题。一般来说,就是访问权限。
    就像当你需要在 Jenkins(在 Docker 中)内运行 Docker 时,它会以某种方式变得复杂。 This blog 将为您提供有关这种情况的一些知识。

    所以没有像往常一样的灵丹妙药。 There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.

    应根据具体场景进行选择。

    【讨论】:

      【解决方案2】:

      Jenkins 即代码

      您主要列出了“Jenkins as Code”的优势。这确实是一个非常强大的设置,但不需要 Docker。

      那么为什么 Docker 是 Jenkins as Code 设置的最佳选择?

      码头工人

      主要原因是 Jenkins 管道与 Docker 配合得非常好。如果没有 Docker,您需要安装其他工具并向 Jenkins 添加不同的代理。使用 Docker,

      • 无需安装其他工具,您只需使用这些工具的映像即可。 Jenkins 将为您从 Internet 下载它们(Docker Hub)。
      • 对于管道中的每个阶段,您可以使用不同的图像(即工具)。本质上,您会得到仅临时存在的“微型 Jenkins 代理”。因此,您不再需要固定代理。这使您的 Jenkins 设置更加简洁。

      开始

      不久前,我在how to get started with Jenkins and Docker 上写了一个小博客,即创建一个用于开发的 Jenkins 镜像,您可以在几秒钟内启动和销毁它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-29
        • 2017-12-20
        • 2019-03-04
        • 1970-01-01
        • 2018-09-22
        • 1970-01-01
        • 2021-01-29
        相关资源
        最近更新 更多