我目前正在尝试将 maven 构建转换为 Gradle 构建。我遇到的阻碍是我们的内部工件被部署到需要身份验证才能读取的内部存储库。
而且您知道身份验证的含义……用户名和密码。问题是我不想要求开发人员将他们的密码作为明文存储在他们的硬盘上。Maven 支持密码加密,但我没有看到如何让 Gradle 做到这一点。
是否有一些对 Ivy CredentialStore 支持加密密码的神奇访问?还是我必须等待新版本?
gradle -credentials插件将允许您加密 gradle.encrypted.properties 文件的内容,然后该文件将作为对象的属性在构建中可用credentials
。
gradle maven 设置插件将让您使用Maven 的系统来加密/解密凭证。
我们使用 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 特定的约定。