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

时间:2018-10-30 12:10:18

标签: maven configuration-management

我们的Maven配置非常大,其中包含许多存储库,插件存储库以及其他各种内容。

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:1)

Tomtit可以胜任这类任务,只需在您的scm中包含这个小助手即可。

.tom / mvn-settings.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

答案 1 :(得分:0)

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

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

您还获得了缓存优势,因为工件仅从Internet下载一次并由Nexus缓存,这可以加快构建速度。