如何在Gradle中使用加密密码到Maven存储库

时间:2010-12-22 22:54:29

标签: encryption passwords maven nexus gradle

我目前正在尝试将maven构建转换为Gradle构建。我遇到的显示停止障碍是我们的内部工件被部署到需要身份验证才能读取的内部存储库。

您知道身份验证的含义...用户名和密码。问题是我不想要求开发人员将他们的密码作为明文存储在他们的硬盘上。 Maven支持password encryption,但我没有看到如何让Gradle做到这一点。

是否有一些支持加密密码的Ivy CredentialStore可以访问?还是我必须等待新版本?

2 个答案:

答案 0 :(得分:10)

我们使用Artifactory和Ivy的CredentialsStore工作正常。

repositories {
  org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD);
  mavenRepo urls: [ "http://repo.mycompany.com/repo" ]
}

要让每个开发人员使用不同的用户名,请创建包含

gradle.properties文件
HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc

{DESede}加密密码前缀可能是Artifactory specific convention

答案 1 :(得分:9)

gradle-credentials插件将允许您加密gradle.encrypted.properties文件的内容,该文件随后将在credentials对象的构建中作为属性提供。

The gradle maven settings plugin可让您使用Maven's system加密/解密凭据。