Как передать учетные данные Maven (Nexus) в файл build.gradle в различных ситуациях? - PullRequest
0 голосов
/ 07 апреля 2020

Gradle v3.4.1 (старый, но это еще одна топи c) на Ma c ОС Catalina (в моем случае).

Мы используем репозиторий Nexus для сборок, и у меня есть мой кредиты, определенные в моем $HOME/.gradle/gradle.properties файле. Следующий синтаксис build.gradle работает для нашего конвейера Bitbucket, и Jenkins запускается. Я храню кредиты в своем репозитории Bitbucket и в плагине учетных данных Jenkins.

repositories {
    mavenLocal()
    maven {
        url "$ZIFT_MAVEN"
        credentials {
            username System.getenv("NEXUS_USR")
            password System.getenv("NEXUS_PSW")
        }
    }
}

, и я делаю

$ ./gradlew clean build -x test -PNEXUS_USR=*** -PNEXUS_PSW=***

Вопреки распространенным утверждениям: «Это НЕ работает на моей машине!» ЛОЛ.

Однако это работает на моей локальной машине, но НЕ работает ни в Jenkins, ни в конвейерах Bitbucket.

repositories {
    mavenLocal()
    maven {
        url "$ZIFT_MAVEN"
        credentials {
            username "$NEXUS_USR"
            password "$NEXUS_PSW"
        }
    }
}

, а я просто делаю

$ ./gradlew clean build -x test

Что такое ОДИН способ, который работает для всех ситуаций - локальный, Jenkins, конвейер Bitbucket?

Спасибо!

1 Ответ

0 голосов
/ 08 апреля 2020

Это сработало для меня

maven {
    url "$ZIFT_MAVEN"
    credentials {
        username (System.getenv("NEXUS_USR") != null ? System.getenv("NEXUS_USR") : "$NEXUS_USR")
        password (System.getenv("NEXUS_PSW") != null ? System.getenv("NEXUS_PSW") : "$NEXUS_PSW")
    }
}
...