Maven简介混乱;对内部仓库的基于用户的身份验证的困惑

时间:2012-02-27 18:01:57

标签: maven continuous-integration bamboo

考虑这种情况。我有一个小型企业项目开发环境。我们使用archiva作为我们的工件回购。

一般情况下,我希望设置PROJECT-SPECIFIC配置文件,即因为每个项目的测试会有所不同。

但是,我想要保持不变的一件事是我的settings.xml文件中的一个配置文件,它默认是活动的,用于开发。我是否需要让我的团队成员手动编辑该文件并将其ARCHIVA凭据放在那里(ldap系统),以便他们可以访问内部仓库?

我不应该在上面输入密码吗?我的另一种选择是使用主密码来加密“共享”密码,因此没有人能够看到它,但他们都会对内部存储库拥有对快照依赖关系和内容的通用“只读”访问权限。但是,他们还需要包含加密主密码的security-settings.xml文件,这不会破坏该系统的用途吗?

最后:多个配置文件可以同时处于活动状态,还是不必要?例如,如果默认情况下我的dev配置文件处于活动状态(其中包含工件仓库设置,版本的加密svn凭据),然后我在某些POM文件中指定了不同的配置文件,我是否只选择一个配置文件?假设我想使用Bamboo for CI,并且有一些使用surefire插件和诸如此类的“测试”配置文件。这些配置文件是否与settings.xml中存在的activeByDefault DEV配置文件共存,或者一次只能激活一个配置文件?所有CI需求都是SCM信息,因此从技术上讲它不需要访问内部archiva repo,所以我想如果我使用测试配置文件(自动使用CI),则不需要配置文件中的任何内容。 / p>

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

1 个答案:

答案 0 :(得分:0)

  

但是,我想要保持不变的一件事就是一个简介   我的settings.xml文件,默认情况下处于活动状态,用于   发展。我是否需要让我的团队成员手动编辑该文件   并将他们的ARCHIVA凭证放在那里(ldap系统),这样   他们可以访问内部仓库吗?

是的,他们必须以普通用户为基础编辑该文件。来自doc:

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

  

我不应该在上面输入密码吗?我的另一种选择是使用   用于加密“共享”密码的主密码,因此没有人能够看到   它,但他们都会对内部进行通用的“只读”访问   repo for snapshot依赖项和东西。然而,他们会   还需要包含加密的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:active-profiles 列出活动配置文件。