Как я могу использовать зашифрованный пароль в репозиторий Maven в Gradle
-
12-10-2019 - |
Вопрос
В настоящее время я пытаюсь преобразовать сборку Maven в сборку Gradle. Шоу стоппер -препятствия, которое я попал в то, что наши внутренние артефакты развернуты во внутреннем репозитории, который требует аутентификации для чтения.
И вы знаете, что означает аутентификация ... имена пользователей и пароли. Проблема в том, что я не хочу требовать от разработчиков хранить свой пароль в виде открытого текста на своих жестких дисках. Мавен поддерживает Шифрование пароля Но я не вижу, как заставить Градл это сделать.
Есть ли какой -то волшебный доступ к Ivy CredentialStore, который будет поддерживать зашифрованные пароли? Или мне придется ждать новой версии?
Решение
Мы используем Artifactory, а Credentialsstore's Ivy работает нормально.
repositories {
org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD);
mavenRepo urls: [ "http://repo.mycompany.com/repo" ]
}
Чтобы каждый разработчик использовал свое имя пользователя, создать gradle.properties
Файл, который содержит
HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc
А {DESede}
зашифрованный префикс пароля может быть Артефакторная конвенция.
Другие советы
А Градл-Кредалис плагин позволит вам зашифровать содержимое файла gradle.crypted.properties, который затем будет доступен в сборке как свойства credentials
объект.
Плагин настройки Gradle Maven позволит вам использовать Система Мэвена для шифрования/расшифровки учетных данных.