来自Gradle和Jenkins(Android)的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

我从Jenkins、SCM、Nexus和Android Gradle开始持续改进。我在Gradle中有一项任务,就是将AAR文件上传到我的Nexus存储库,如果我从我的计算机上执行它,它就会工作。任务为“安装”,分级代码如下:

// 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中,因此源代码中没有凭证。

如果您有权这样做,您应该接受自己满意的答案。