使用 Docker 进行持续集成

持续集成 (CI) 是开发流程的一部分,您希望将代码更改合并到项目的 main 分支。此时,开发团队会运行测试和构建以验证代码更改不会导致任何意外或意外的行为。

Git branches about to get merged

即使您最终没有将应用程序打包为容器镜像,Docker 在此开发阶段也有多种用途。

Docker 作为构建环境

容器是可重复的、隔离的环境,可产生可预测的结果。在 Docker 容器中构建和测试您的应用程序可以更容易地防止发生意外行为。使用 Dockerfile,您可以定义构建环境的确切要求,包括编程运行时、操作系统、二进制文件等等。

使用 Docker 管理构建环境还可以简化维护。例如,更新到编程运行时的较新版本可以像更改 Dockerfile 中的标签或摘要一样简单。无需 SSH 到宠物 VM 手动重新安装较新版本并更新相关的配置文件。

此外,就像您期望第三方开源软件包是安全的,您的构建环境也应该如此。您可以扫描和索引构建器镜像,就像您对任何其他容器化应用程序一样。

以下链接提供有关如何开始在 CI 中使用 Docker 构建应用程序的说明

Docker in Docker

您还可以使用 Docker 化的构建环境来使用 Docker 构建容器镜像。也就是说,您的构建环境在容器内运行,该容器本身配备了运行 Docker 构建的功能。此方法称为“Docker in Docker”。

Docker 提供了一个官方的 Docker 镜像,您可以为此目的使用。

后续步骤

Docker 提供了一套官方的 GitHub Actions,您可以使用它们在 GitHub Actions 平台上构建、注释和推送容器镜像。请参阅 GitHub Actions 简介,以了解更多信息并开始使用。