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

she*_*non 16 encryption passwords nexus gradle maven

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

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

是否有一些神奇的访问Ivy CredentialStore将支持加密密码?还是我要等新版本?

Uri*_*ter 10

我们使用Artifactory和Ivy的CredentialsStore工作得很好.

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

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

HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc
Run Code Online (Sandbox Code Playgroud)

{DESede}加密的密码前缀可能是一个Artifactory的具体约定.

  • 如果我使用神器,那将是很好的,但我的网站使用nexus.任何通用解决方案 (3认同)
  • Nexus具有用户令牌功能,可以替换用户名和密码,因此您无需对其进行加密.只需使用上面的未加密令牌即可 (3认同)

jon*_*bot 10

gradle这个-凭据插件可以让你加密gradle.encrypted.properties文件的内容,然后将可在生成的属性credentials对象.

gradle maven设置插件将允许您使用Maven的系统来加密/解密凭据.