我正在尝试将Gradle构建的工件部署到Maven仓库,我需要为其指定凭据.这个现在工作正常:
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://.../nexus/content/repositories/snapshots/") {
authentication(userName: "admin", password: "admin123")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我不喜欢将凭据存储在源代码管理中.使用Maven,我将定义一个服务器配置,并在我的分配中分配凭据~/.m2/settings.xml
.我如何使用Gradle做类似的事情?
Pet*_*ser 212
〜/ .gradle/gradle.properties:
mavenUser=admin
mavenPassword=admin123
Run Code Online (Sandbox Code Playgroud)
build.gradle:
...
authentication(userName: mavenUser, password: mavenPassword)
Run Code Online (Sandbox Code Playgroud)
que*_*ire 78
第一个答案仍然有效,但API在过去已发生变化.由于我的编辑没有被接受,我将其作为单独的答案发布.
该方法authentication()
仅用于提供身份验证方法(例如Basic),但不提供任何凭据.
您也不应该使用它,因为它在失败时打印凭证!
这是他的样子 build.gradle
maven {
credentials {
username "$mavenUser"
password "$mavenPassword"
}
url 'https://maven.yourcorp.net/'
}
Run Code Online (Sandbox Code Playgroud)
在gradle.properties
你的userhome目录中:
mavenUser=admin
mavenPassword=admin123
Run Code Online (Sandbox Code Playgroud)
还要确保将其GRADLE_USER_HOME
设置为~/.gradle
否则将无法解析其中的属性文件.
也可以看看:
https://docs.gradle.org/current/userguide/build_environment.html
和
https://docs.gradle.org/current/userguide/dependency_management.html(23.6.4.1)
Kri*_*raj 13
如果您有用户特定的凭据(即每个开发人员可能有不同的用户名/密码),那么我建议使用gradle-properties-plugin.
gradle.properties
gradle-local.properties
(这应该被git忽略).这比覆盖使用更好,$USER_HOME/.gradle/gradle.properties
因为不同的项目可能具有相同的属性名称.
luc*_*ell 12
您还可以在命令行上提供变量-PmavenUser=user -PmavenPassword=password
.
这可能有用,因为某些原因你不能使用gradle.properties文件.例如,在构建服务器上,我们使用Gradle -g
选项,以便每个构建计划都有自己的构建计划GRADLE_HOME
.
您可以将凭据放在属性文件中,并使用以下内容读取它:
Properties props = new Properties()
props.load(new FileInputStream("yourPath/credentials.properties"))
project.setProperty('props', props)
Run Code Online (Sandbox Code Playgroud)
另一种方法是在OS级别定义环境变量并使用以下方法读取它们:
System.getenv()['YOUR_ENV_VARIABLE']
Run Code Online (Sandbox Code Playgroud)
对于在 MacOS 上构建的人,并且不喜欢将密码以明文形式留在机器上,您可以使用钥匙串工具来存储凭据,然后将其注入构建中。致谢 Viktor Eriksson。 https://piloxa.gitlab.io/posts/safer-passwords-in-gradle/
归档时间: |
|
查看次数: |
81106 次 |
最近记录: |