CI / CD:每个环境的一个dockerfile或一个dockerfile

问题描述 投票:0回答:1

我有GazLab CI / CD的dev / test / preprod / prod环境。根据最佳实践,我应该:

  • 每个环境有一个dockerfile吗?
  • 有一个适用于所有环境的dockerfile吗?

首先,我认为对所有环境都有一个独特的配置是容器的强度。但在我的情况下,使用我的角度应用程序,我有很多开发依赖项(例如虚拟浏览器)用于测试目的,而不是在prod环境中。

我该如何组织我的容器?

docker continuous-integration containers continuous-deployment
1个回答
1
投票

我创建一个基本映像并将其上传到我的注册表。它具有应该在生产中的最小核心软件。

出于开发和测试目的,我基于基本映像创建不同的Dockerfiles。

例如,出于静止目的,我在基础映像上安装测试框架,为了开发目的,我在基本映像内更改用户的用户和组ID。 (所以当我绑定mount我不会在我的本地有权限问题)

出于CI目的,我也这样做。

当我想推向生产时,我从CI +配置中获取基本图像+工件进行生产,并将它们捆绑在生产图像中。

简而言之,一个基本图像(Dockerfile)和基于基本图像的每个上下文的不同Dockerfile。

通过此设置,我可以确定我将在所有环境中使用相同版本的核心软件。

© www.soinside.com 2019 - 2024. All rights reserved.