【问题标题】:Docker Cloud Automated buildsDocker 云自动构建
【发布时间】:2016-08-30 06:35:56
【问题描述】:

我正在尝试了解通过 Docker Cloud 自动构建与 Jenkins、Circle 等其他 CI 服务器之间的主要区别...

根据我对 Docker Cloud 的理解,我可以链接 Github 存储库并触发特定分支更改的 Web 挂钩。这样做,通过适当的配置 DockerCloud 会自动运行、测试和构建我的镜像,并最终部署到链接的远程服务器,如 AWS...

因此,相同的工作流程是可以实现的,并且它是使用 Jenkins、Circle 等 CI 服务器的常见 CI/CD 实施。它基本上执行与 DockerCloud 相同的步骤。

使用 Jenkins CI 和 Docker Cloud 自动构建有什么区别?

我应该使用哪种方法将完整的 CI/CD 管道集成到我的开发工作流程中?

【问题讨论】:

    标签: jenkins docker continuous-integration containers continuous-deployment


    【解决方案1】:

    Docker Hub 的主要目标是提供您的代码映像,以便在您的用户之间轻松分发。构建这个镜像非常简单,大多数服务都可以连接到 Docker Hub 来下载这个镜像。

    Docker Hub 非常慢,并且缺少许多功能,例如您无法中止构建过程,也无法获得构建过程的实时输出。这就是完整的 CI 发挥作用的地方,您拥有这些功能。它也更适合测试和部署,因为您可以为测试(单元测试、集成测试等)或部署/生产阶段定义单独的任务。

    大多数 CI,如 CircleCI,可以配置为 build, test and deploy your image to Docker Hub,因此您无需在 Docker Hub 本身上构建它。我喜欢这个,因为正如我已经说过的,你无法控制 Docker Hub 本身的构建过程,当你不得不等待几分钟直到你唯一的工作人员完成他的任务时,这可能会非常烦人。

    因此,当您想要构建映像时,可以使用 Docker Hub,但它缺少一些功能,从而降低了测试映像的可用性。因此,我建议使用完整的 CI 进行测试,然后在 Docker Hub(或 CI 本身)上触发构建以构建和发布您的生产就绪映像。就个人而言,我正在使用 CircleCI 来测试我的镜像,当我推送到掌握生产就绪镜像时,会构建并推送到 Docker Hub。

    【讨论】:

    • 我不确定我们在谈论同样的事情。我提出了一个关于Docker Cloud 平台的问题,实际上并没有具体说明您需要使用 Docker Hub,您可以自带镜像注册表。我问在 Docker Cloud 和 CI 之间选择什么,比如 Jenkins、Circle……
    • 但是简单的 Docker Cloud Automated Build 似乎与 Docker Hub 中看到的几乎相同,没有分阶段测试阶段的选项。 Docker Cloud 本身的目标是提供简单的持续交付,这在大多数 CI 中通常是可选的,但不是他们的主要目标。
    猜你喜欢
    • 2018-05-22
    • 2018-11-16
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多