Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Teamcity 将提交/生成标记为部署_Teamcity - Fatal编程技术网

Teamcity 将提交/生成标记为部署

Teamcity 将提交/生成标记为部署,teamcity,Teamcity,因此,我们目前只是部署master,但遇到了一些问题,我们希望部署在其中运行所有测试的提交/构建。这通常是下午4:30大师的快照。我们在下午4:30自动为所有测试运行构建配置(让我们调用此构建配置ALLTESTS),因此我们可以控制如何在ALLTESTS配置中标记此提交/构建 我们将测试和部署分开,因此在执行部署(手动或自动)时,它应该只选择已标记的分支/标记/提交/构建。将测试添加到部署构建配置中不是一个可行的解决方案 最初我计划使用Git标签。名为deploy的标记将被删除并添加到某些提交中

因此,我们目前只是部署master,但遇到了一些问题,我们希望部署在其中运行所有测试的提交/构建。这通常是下午4:30大师的快照。我们在下午4:30自动为所有测试运行构建配置(让我们调用此构建配置ALLTESTS),因此我们可以控制如何在ALLTESTS配置中标记此提交/构建

我们将测试和部署分开,因此在执行部署(手动或自动)时,它应该只选择已标记的分支/标记/提交/构建。将测试添加到部署构建配置中不是一个可行的解决方案

最初我计划使用Git标签。名为
deploy
的标记将被删除并添加到某些提交中,然后在触发部署时,将部署该提交

我在这里遇到的问题是,在构建步骤中手动添加git标记并非易事。我是否应该编写使用git命令的命令行构建步骤,从commit中删除标签
deploy
,并将其添加到正在运行的commit中

有没有更好的teamcity方法?我已经通过RESTAPI成功地让teamcity标记工作,但我不确定这些标记是否符合需要

我想我可以编写powershell来解析RESTAPI,以获取上次在所有测试中成功的构建id,然后以某种方式将其提供给部署。我如何获取构建编号并将其用作部署的基础

我是否应该编写使用git命令的命令行构建步骤,从commit中删除deploy标记,并将其添加到正在运行的commit中


快速回答是否定的。实际上,您可以使用以下内容:

git标记-f部署

并将您的标记更新为给定的提交


干杯。

为什么
deploy
不仅仅是一个分支,您可以在其中合并所有应该部署的提交。在这种情况下,您应该净删除并重新创建此分支…这是一种可能性,即在测试运行后,它只会创建一个名为DeployfromMaster的分支。我只是想teamcity有一个更内置的流程,它不仅仅是调用一堆git命令来创建一个新分支。实际上,您可以使用类似“git tag-f deploy”的东西,并将您的标记更新到给定的提交。如果您不想为部署创建单独的分支,您可以创建像“deploy_plan.json”这样的特殊文件,在其中您可以定义要分布在服务器上的提交ID。@DarioRodriguez我想这就是我要做的,如果您想回复,我将奖励您奖金,注意您必须在构建代理上安装git:我希望它能像在构建服务器上安装git一样简单,但事实并非如此。