我该如何设置TeamCity代理以使用单独的Maven本地存储库?

11

我想设置每个TeamCity代理使用本地存储库(maven.repo.local)在代理的工作目录(agent.work.dir)中。 是否可以配置maven属性以此方式使用TeamCity属性?

2个回答

10

在设置 Runner: Maven2 / JVM命令行参数 中输入 -Dmaven.repo.local=%system.agent.work.dir%/.m2


3
根据TeamCity 9+的要求,%system.agent.work.dir%已经过时,应该改用 %teamcity.agent.work.dir% - kevinarpe
一整天都在寻找这个答案! - C.J.

2

我不使用TeamCity,而是使用Bamboo。我实现这个的方式是,在maven目标中定义了以下内容:

-Dmaven.repo.local=${bamboo.M2REPOHOME}/${bamboo.buildKey} ...

然后定义属性M2REPOHOME为文件系统上的某个位置,bamboo.buildKey是项目名称。我将我的m2存储库都放在一个地方,以便轻松删除它们。您应该通过将maven.repo.local设置为agent.work.dir或其他位置来执行类似操作。快速查看TeamCity文档,您可以这样做:

-Dmaven.repo.local=%agent.work.dir%/m2

1
OP想要的是TeamCity的答案,而不是Bamboo的。 - C.J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接