来自Gradle和Jenkins(Android)的Nexus用户
我从Jenkins、SCM、Nexus和Android Gradle开始持续改进。我在Gradle中有一项任务,就是将AAR文件上传到我的Nexus存储库,如果我从我的计算机上执行它,它就会工作。任务为“安装”,分级代码如下:来自Gradle和Jenkins(Android)的Nexus用户,android,version-control,jenkins,gradle,nexus,Android,Version Control,Jenkins,Gradle,Nexus,我从Jenkins、SCM、Nexus和Android Gradle开始持续改进。我在Gradle中有一项任务,就是将AAR文件上传到我的Nexus存储库,如果我从我的计算机上执行它,它就会工作。任务为“安装”,分级代码如下: // upload to our nexus repository uploadArchives { repositories { // the maven plugin features this deployer mavenDe
// upload to our nexus repository
uploadArchives {
repositories {
// the maven plugin features this deployer
mavenDeployer {
// we deploy to the release repository in this case
repository(url: "https://nexus1.xxxxx.com/nexus/content/repositories/releases") {
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
}
// pom project information
pom.project {
version android.defaultConfig.versionName
artifactId 't21-android-commons-utils'
name 'T21 Android Commons Utils Lib'
packaging 'aar'
}
}
}
}
task install(dependsOn: uploadArchives)
身份验证函数调用getRepositoryUsername()和getRepositoryPassword()从gradle.properties读取凭据。但是我不想在我们的SCM中公开这个文件,它不应该是安全的
当我将代码推送到SCM时,Jenkins注意到了它并执行了一个作业来执行一些gradle任务,包括“安装”任务。它工作正常,但“安装”无法通过Nexus server的身份验证,因为找不到gradle.properties(如预期的那样)
因此,我想知道如何在Jenkins的“安装”gradle任务中进行身份验证
我想在Nexus中创建一个具有权限的通用Jenkins用户,但我不知道如何调用gradle和Jenkins
我希望能解释清楚。对不起,我的英语很差……我自己回答
可以使用-Pparameter=value将参数传递给Gradle,这对我很有用。我把它放在詹金斯工作的开关箱里
现在,凭证在Jenkins Job中,但不在SCM中,因此源代码中没有凭证。如果您有权这样做,您应该接受自己满意的答案。