Я пытаюсь развернуть артефакт Gradle в репозитории Maven, и мне нужно указать для этого учетные данные. Это работает отлично на данный момент:
uploadArchives {
repositories {
mavenDeployer {
repository(url: "http://.../nexus/content/repositories/snapshots/") {
authentication(userName: "admin", password: "admin123")
}
}
}
}
Но мне не нравится хранить учетные данные в системе контроля версий. С Maven я бы определил конфигурацию сервера и назначил учетные данные в моем ~/.m2/settings.xml
. Как мне сделать нечто подобное с Gradle?
Ответы:
~ / .gradle / gradle.properties :
build.gradle :
источник
gradle.properties
быть зарегистрирован вVCS
?Первый ответ все еще действителен, но API изменился в прошлом. Поскольку мое редактирование не было принято, я публикую его как отдельный ответ.
Этот метод
authentication()
используется только для предоставления метода аутентификации (например, Basic), но не для каких-либо учетных данных.Вы также не должны использовать его, поскольку он печатает учетные данные в случае сбоя!
Это его, как это должно выглядеть в вашем
build.gradle
В
gradle.properties
вашем домашнем каталоге dir введите:Кроме того , убедитесь , что
GRADLE_USER_HOME
установлен в~/.gradle
противном случае файл свойств не будет решена.Смотрите также:
https://docs.gradle.org/current/userguide/build_environment.html
и
https://docs.gradle.org/current/userguide/dependency_management.html (23.6.4.1)
источник
maven-publish
плагин, в то время как вопрос используетmaven
плагин.Вы также можете указать переменные в командной строке с помощью
-PmavenUser=user -PmavenPassword=password
.Это может быть полезно, вы не можете использовать файл gradle.properties по какой-то причине. Например, на сервере сборки мы используем Gradle с
-g
опцией, чтобы у каждого плана сборки был свойGRADLE_HOME
.источник
Если у вас есть пользовательские учетные данные (т. Е. У каждого разработчика могут быть разные имя пользователя и пароль), я бы порекомендовал использовать плагин gradle-properties-plugin .
gradle.properties
gradle-local.properties
(это следует игнорировать).Это лучше, чем переопределение использования,
$USER_HOME/.gradle/gradle.properties
потому что разные проекты могут иметь одинаковые имена свойств.источник
build.gradle
. Как использовать учетные данные вuploadArchives
конфиге?Вы можете поместить учетные данные в файл свойств и прочитать его, используя что-то вроде этого:
Другой подход заключается в определении переменных среды на уровне ОС и их чтении с использованием:
источник
Для тех из вас, кто использует MacOS и не любит оставлять пароль в виде открытого текста на своем компьютере, вы можете использовать инструмент цепочки для ключей, чтобы сохранить учетные данные, а затем внедрить их в сборку. Кредиты достаются Виктору Эрикссону. https://pilloxa.gitlab.io/posts/safer-passwords-in-gradle/
источник