我有一个项目,它是一个开源系统的插件。为了运行插件的CI构建,需要将其安装到主开源系统的现有实例中。我主要使用它,但是,主系统的安装过程漫长而复杂,因此构建需要永远。设置为从git检出插件总是首先发生也很尴尬,而它需要在主系统到位之后发生,以便正确的目录存在。我现在的解决方案是使用shell脚本进行安装,然后使用Ant任务进行构建,完全忽略内置VCS。但是,感觉很讨厌。
我想到了两个解决方案:
但是,我对TeamCity不太了解是否有可能。有没有人曾经做过这样的事情?
答案 0 :(得分:2)
对于您的解决方案2,您可以尝试使用“构建触发器”配置,“完成构建触发器”选项应该很好地解决您的父子关系。
在TC中,转到插件的构建配置,在“Configuration Steps”部分选择“Build Triggers”(编号5),然后选择“Add New Build Trigger”并配置“Finish Build Trigger”选择主系统的构建配置。
要在子级别1中使用父目录,您需要使用“工件依赖性”(请参阅“配置步骤”中的“依赖关系”部分,也可以在构建配置之间设置一些快照。
Artifact Dependencies: artifact依赖项为您提供了一种方便的使用方法 另一个构建中的一个构建的输出(工件)。当一件神器 配置依赖项,下载必要的工件 构建开始之前的代理。
Snapshot Dependencies:通过在其他构建(构建A)源上设置构建(例如构建B)的依赖关系,可以确保构建B仅在它依赖的构建(构建A)之后才开始。跑完了
Configuring Finish Build Trigger: 如果完成所选构建配置的构建,则完成构建触发器会触发当前构建配置的构建