TeamCity:配置多个构建任务以使用相同的VCS下载

时间:2014-10-23 18:28:36

标签: android git continuous-integration teamcity

我们的CI需要在许多环境中运行测试。

目前我们有8个任务,每个任务都从VCS中提取,构建工件,然后运行测试。

这是针对运行各种Android OS版本的Emulators进行Android测试。

我想更改此行为,以便我们具有以下结构:

1)构建任务

Does the VCS pull, builds the artifact for testing.

2)测试任务(1 ... n) -

Snapshot Dependency on Build Task Artifact.
Starts up the emulator for its version
Runs tests
Succeeds or fails.

我遇到的问题是构建任务似乎在完成之后将从VCS克隆的存储库(我们正在使用git)吹走。这意味着第2层任务无权访问此仓库中的gradle包装器。

有没有办法阻止repo在任务之间被吹走,这样我就可以重用那个位置而不为每个任务做一个新的克隆?

2 个答案:

答案 0 :(得分:1)

将配置中的VCS checkout modeAutomatically on server更改为Do not check out files automatically。在根任务中,将结帐执行到其他任务可访问的文件夹中。通过这种方式,Teamcity不会触摸文件并随时将其删除。如果需要,您可以自己执行清理。

答案 1 :(得分:0)

我们在团队城市使用git时遇到了类似的问题。如果您需要在代理上执行与存储库相关的任何操作,则必须在代理上执行签出,然后确保数据,并且代理计算机上的repo元数据可用。

我记得TC会在代理上创建一个缓存,这样任何未来的构建只需要获取增量来获取更新的repo,所以第一次在每个代理上可能会很慢,但是不需要每次都这样做。