我正在试图弄清楚如何配置TeamCity构建步骤来完成以下任务:
这看起来很简单,但我步骤1和2之间的互动是我不知道该怎么做。如果我在第2步使用服务器端签出,它将从服务器中提取源,而不是在步骤1中使用我的更改。如果我使用代理端签出,我的理解是它将创建一个新工作区并从中提取源服务器,再次没有在步骤1中使用我的更改。
我是否可以使用步骤1中创建的挂起更改来构建第2步?我能想到的唯一其他选项是在步骤1之后检入更改,如果构建失败,则在步骤4中回滚更改集。但是,在这种情况下,步骤4如何知道要回滚的变更集?
此外,我还有一个较小的问题,如何将构建成功作为参数传递给第4步?我查看了内置参数但是没有一个用于构建失败/成功吗?
谢谢!
答案 0 :(得分:1)
如果您可以提供您正在使用的VCS名称(Git / SVN),那将非常有用。我看到你的问题主要是关于2个要点
因此,简而言之,您的构建步骤可以(1)签出分支,(2)将另一个分支合并到其中,(3)运行构建和数据库部署,然后(4)提交代码/回滚数据库更改,如果它基于失败文件失败。
对于第二个问题,每个teamcity步骤都知道整个构建的成功状态以及之前的步骤as mentioned here。缺少的唯一步骤是“如果前一步骤中的任何一个失败,则运行步骤”