【发布时间】:2019-12-08 09:26:19
【问题描述】:
我有一个 Web 应用程序,我想使用 azure 管道对其进行 dockerise 和发布。 我已经能够构建和测试,但正在努力发布它。
构建管道(在由 VSTS 代理控制的构建服务器上):
1) Build using .net core
2) Run unit tests using .net core
3) Build docker image
4) Push to registry
这会自动触发我的发布管道。发布管道有两个阶段,分别是create release 和deploy release。
非 docker 方案是创建 DLL (create release) 并部署在 Web 服务器上 (deploy release)。我不确定这是否/如何适用于 docker 应用程序。
发布管道(在每个环境服务器上运行的单独发布代理):
Artifact (CI Build) => DEV => SIT => UAT => PROD
在每个环境中,我都会这样做:
1) stop and remove old image/container
2) pull 'latest' tag from repository
3) run new image in docker container.
问题:
如何创建一个单独的、特定于发布的 docker 映像,然后可以将其推送到每个环境,以及如何将 create release 与 deploy release 拆分以完成此操作?
问题:
-
1234563
使用版本号/名称进行标记的原因是我可以在必要时重新部署以前的版本。
我想阻止将所有发布映像存储在我的 DEV/SIT/UAT/PROD 服务器上。发布映像需要存在于注册表服务器中,以便我有一个中心位置可以从中提取它们。
【问题讨论】:
-
您应该构建/推送特定版本的图像。但它将是构建版本,而不是发布版本。发布只是“构建”+“配置”。查看12factor.net
-
@user281921 好几天没有收到您的回复,能否分享一下您关于此问题的最新信息?如果您有任何疑虑,请随时在此处分享。
标签: docker azure-devops azure-pipelines