Как передать учетные данные nexus в задаче gradle для загрузки артефактов - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь загрузить артефакт из нексуса в мой локальный каталог с помощью задачи gradle. Мне нужно передать имя пользователя / пароль в моей задаче gradle, чтобы загрузить артефакт. Ниже находится моя задача 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)
        }

Я могу получить доступ к этой задаче, когда удалю авторизацию в нексусе, но мне нужно включить авторизацию в нексусе и передать учетные данные через задачу Gradle

1 Ответ

1 голос
/ 08 мая 2020

Есть много способов сделать это, но я предпочитаю делать это с помощью специальных переменных среды, которые можно читать как свойства проекта.

ORG_GRADLE_PROJECT_nexus_user=foo
ORG_GRADLE_PROJECT_nexus_password=bar

Внутри вашей задачи просто найдите свойства проекта nexus_user и nexus_password:

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

См. также Передача переменных env в gradle.properties

...