为整个团队共享相同的settings.xml maven配置



我们有一个非常大的maven配置,有很多存储库、插件存储库和其他各种东西。

我们最终总是不得不手动将同一文件复制/粘贴到其他团队成员,然后替换用户名和密码。

我很好奇是否有人知道共享settings.xml文件的自动化解决方案?

会从git中提取配置或部分配置的东西?

如果我必须自己写,我可能会使用脚本和git来提取更改、进行替换和替换当前设置文件。

但最好看看是否有人已经做了这个。

我们还为每个用户提供了不同的代理用户名和密码。我们既使用关系,也使用代理。

Tomtit擅长这类任务,只需将这个小助手包含到您的scm:

.tom/mvn设置.pl6

#!perl6
my $user = prompt "username ";
my $password = prompt "password ";
directory '/tmp/mvn';
# load settings template from other repository
git-scm 'https://scm/repo/mvn-files', %( to => '/tmp/mvn' );
template-create 'settings.xml', %(
source => ( slurp '/tmp/mvn/settings.tmpl' ),
mode => '644',
variables => %(
user => $user,
password => $password
),
);

运行它:

tom mvn-settings

我们使用Nexus,它代理所有需要的存储库。这意味着settings.xml中的存储库和插件存储库部分各只有一个条目(指向公共组(。

此外,添加/更改存储库可以由Nexus管理员完成,并使用标准settings.xml自动传播给每个人(约140名开发人员(。

此外,您还获得了缓存优势,因为工件只从互联网下载一次,并由Nexus缓存,这可以加快您的构建速度。

最新更新