如何在gradle任务中传递nexus凭据以下载工件

  • 本文关键字:下载 nexus gradle 任务 gradle
  • 更新时间 :
  • 英文 :


我正试图使用gradle任务将工件从nexus下载到我的本地目录。我必须在我的gradle任务中传递用户名/密码才能下载工件。下面是我的分级任务

task downloadFile(type: MyDownload) {
sourceUrl = 'http://localhost:8081/xxx/xxx/xxx'
target = new File('E:/bookstore/', 'build.zip')
}
class MyDownload extends DefaultTask {
@Input
String sourceUrl
@OutputFile
File target
@TaskAction
void download() {
ant.get(src: sourceUrl, dest: target)
}
}

当我删除nexus中的授权时,我可以访问此任务,但我需要在nexus启用授权,并通过Gradle任务传递凭据

有很多方法可以做到这一点,但我最喜欢的是通过特殊的环境变量来实现,这些变量可以读取为项目属性。

ORG_GRADLE_PROJECT_nexus_user=foo
ORG_GRADLE_PROJECT_nexus_password=bar

在您的任务中,只需查找项目属性nexus_usernexus_password:

@TaskAction
void download() {
def user = project.findProperty('nexus_user') ?: ''
def pass = project.findProperty('nexus_password') ?: ''
...
}

另请参阅将env变量传递到grade.properties

最新更新