在容器中build立和testing是否更好?
我正在为一个新项目创buildCI&CDpipe道。 由于我们使用的是Docker,下面是我的问题:在Docker容器中构build和testing是否更好,所以步骤如下:
- 构buildDocker镜像
- 在其中运行应用程序构build
- 在其中运行应用testing
- 推入Docker镜像
或在Docker容器之外,并且在CI通过后,构build映像:
- 直接在CI服务器(外部容器)上构build项目
- 在CI服务器(外部容器)上直接testing
- 构buildDocker镜像和推送
不需要使用Docker镜像来运行应用程序构build。 更重要的是,将build筑脚手架留在所得到的图像之外,通常是有益的。 另一方面,您可能更愿意使用同一个应用程序构build通过交付pipe道。 基于此,下面的序列可能会更好:
- 构build一个应用程序(无论是否有构build图像的帮助)
- 构build应用程序图像。
- 从该映像启动容器,运行testing。
- 成功后,将步骤2的图像推送到registry。