Docker compose 在docker compose中将副本定义为整数变量

Docker compose 在docker compose中将副本定义为整数变量,docker-compose,azure-pipelines-release-pipeline,Docker Compose,Azure Pipelines Release Pipeline,VSTS发布失败,错误是对docker副本使用整数变量 我想在azure vsts发布管道的不同环境中定义不同的副本值。 我让docker编写以下设置。 副本:${replicas} 副本定义为vsts构建(设置为1)和发布变量(对于开发人员、qa和prod,分别设置为1和3) 构建成功,发布版返回错误声明 [错误]services.serviceName.deploy.replicas必须是整数 预期结果为成功释放。无法为vsts释放变量定义整数值。变通解决方案是在prod阶段创建docker

VSTS发布失败,错误是对docker副本使用整数变量

我想在azure vsts发布管道的不同环境中定义不同的副本值。 我让docker编写以下设置。
副本:${replicas}

副本定义为vsts构建(设置为1)和发布变量(对于开发人员、qa和prod,分别设置为1和3)

构建成功,发布版返回错误声明

[错误]services.serviceName.deploy.replicas必须是整数
预期结果为成功释放。

无法为vsts释放变量定义整数值。变通解决方案是在prod阶段创建docker service scale任务,以将服务扩展到3个或更多容器。这是在发布管道中的docker service deploy任务之后定义的。此任务将在服务部署后运行docker service scale命令。下面是指定的命令->
服务更新--replicas=$(REPLICA)$(SERVICENAME)
。vsts阶段任务中的此命令可以接受副本的字符串值。REPLICA和SERVICENAME都是vsts发布变量。

qa和3对于prod有什么意义?这是否意味着您的副本变量值为qa和3?根据您的错误消息,副本必须是整数,但在您的发布变量中似乎有字符串。对于dev和qa,副本设置为1,对于prod,副本设置为3,因此我们在较低的env中有1个容器,而在prod中有3个容器。这似乎是Azure VST的已知限制,它们不允许将整数值作为管道变量。我找到了一个解决办法。解决方案是在发布管道中为部署后运行docker service scale命令的产品创建docker任务。i、 e服务更新--副本=$(副本)$(服务)。vsts阶段任务中的这个命令可以接受副本的字符串值。很高兴您已经解决了这个问题。请标记你的答案,这对其他有同样问题的社区是有益的。我不能标记,因为我还没有声誉,我想只有在我挣50分后才能标记。