2012-02-27 54 views
0

请考虑这种情况。我有一个小型企业项目开发环境。我们使用archiva作为我们的神器回购。Maven配置文件混淆;将基于用户的身份验证混淆到内部回购

总的来说,我希望设置项目特定的配置文件,也就是说,因为测试会根据每个项目的不同而不同。

但是,我会喜欢的一点是,我的settings.xml文件中有一个配置文件,默认情况下它是用于开发的配置文件。我是否需要让我的团队成员手动编辑该文件并将他们的ARCHIVA凭证放在那里(ldap系统),以便他们可以访问内部回购?

我是不是应该在上面输入密码?我的另一种选择是使用主密码来加密一个“共享”密码,所以没有人能够看到它,但它们都具有通用的“只读”访问内部仓库的快照依赖和东西。但是,他们还需要包含加密的主密码的security-settings.xml文件,而不会影响该系统的目的?

终于:多个配置文件可以同时处于活动状态,还是不必要?例如,如果我默认启用dev配置文件(其中包含工件回购设置,发行版的加密svn凭据),然后在某些POM文件中指定不同的配置文件,我只能选择一个配置文件吗?比方说,我想使用Bamboo for CI,并且有一些使用surefire插件的“测试”配置文件。这些配置文件是否会与settings.xml中存在的activeByDefault DEV配置文件共存,或者一次只能激活一个配置文件?所有CI需求都是SCM信息,因此技术上它不需要访问内部存档库,所以我想如果我使用的是测试配置文件(自动使用CI),它不需要配置文件中的任何内容。

我很困惑。我非常接近具有完全由maven管理的构建环境,只是试图解决这些问题。谢谢。

回答

0

然而,有一两件事我想有恒定的,是 我settings.xml文件中的配置文件,在默认情况下是有效的,用于 发展。我是否需要让我的团队成员手动编辑该文件 ,并将他们的ARCHIVA凭证放在那里(ldap系统),以便他们可以访问内部回购库 ?

是的,他们将不得不在pr用户的基础上编辑该文件。来自文档:

密码和密码元素可能会在未来被外部化,但现在它们必须在settings.xml文件中设置为纯文本。

我应该只是没有密码吗?我的另一种方法是使用主密码来加密一个“共享”密码,所以没有人可以看到它,但它们都会对内部 存储库具有通用的“只读”访问权限,用于获取快照依赖关系和内容。但是,那么他们 也需要包含加密的 主密码的security-settings.xml文件,并且这不会破坏该系统的目的?

为什么不将用户公钥添加到Archiva中,并以这种方式进行身份验证?

<servers> 
    <server> 
     <id>server001</id> 
     <username>my_login</username> 
     <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
     <passphrase>some_passphrase</passphrase> 
     ... 
    </server> 
    </servers> 

终于:可以在多个简档是活动的同时,或者是 不必要?

是的,可以激活多个配置文件。您可以使用mvn help:活动配置文件列出活动配置文件。

+0

老兄感谢一吨。被所有这​​些困惑,但现在我终于有了我需要的最后一点设置。 CI不是几个月,但我只是想确保我的环境对我来说是“友好的”。现在,它只是svn,archiva,maven等。再次感谢。 – 2012-02-28 01:29:58

+0

你是什么意思“CI不是几个月”?它应该是你设置的第一件事情之一;)使用ie。詹金斯,这其实很容易在本地设置。无论如何,很高兴我能帮忙! – ebaxt 2012-02-28 05:02:01

+0

只要我有现金,它就会完成。它需要第三个盒子,我们甚至还没有任何DAO,所以测试不会太残酷一点。再次感谢 – 2012-02-28 21:27:07