为整个团队共享相同的 settings.xml maven 配置
Sharing the same settings.xml maven configuration for the whole team
我们有一个非常大的 maven 配置,有很多存储库、插件存储库和各种其他东西。
我们总是不得不手动 copy/paste 将相同的文件发送给其他团队成员,然后替换用户名和密码。
我很好奇是否有人知道共享 settings.xml 文件的自动化解决方案?
将从 git 中提取配置或部分配置的东西?
如果我必须自己编写,我可能会使用脚本和 git 来提取更改、进行替换并替换当前设置文件。
不过还是看看有没有人做过这个比较好。
我们还为每个用户设置了不同的代理用户名和密码。
我们同时使用 nexus 和代理。
我们使用 Nexus,它代理所有需要的存储库。这意味着 settings.xml
中的存储库和插件存储库部分只有一个条目(指向 public 组)。
此外,adding/changing 存储库可以由 Nexus 管理员完成,并使用标准 settings.xml
.
自动传播给所有人(大约 140 名开发人员)
您还获得了缓存优势,因为工件仅从互联网下载一次并由 Nexus 缓存,这可以加快您的构建。
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
我们有一个非常大的 maven 配置,有很多存储库、插件存储库和各种其他东西。
我们总是不得不手动 copy/paste 将相同的文件发送给其他团队成员,然后替换用户名和密码。
我很好奇是否有人知道共享 settings.xml 文件的自动化解决方案?
将从 git 中提取配置或部分配置的东西?
如果我必须自己编写,我可能会使用脚本和 git 来提取更改、进行替换并替换当前设置文件。
不过还是看看有没有人做过这个比较好。
我们还为每个用户设置了不同的代理用户名和密码。 我们同时使用 nexus 和代理。
我们使用 Nexus,它代理所有需要的存储库。这意味着 settings.xml
中的存储库和插件存储库部分只有一个条目(指向 public 组)。
此外,adding/changing 存储库可以由 Nexus 管理员完成,并使用标准 settings.xml
.
您还获得了缓存优势,因为工件仅从互联网下载一次并由 Nexus 缓存,这可以加快您的构建。
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