Как я могу использовать зашифрованный пароль в репозитории Maven в Gradle
В настоящее время я пытаюсь перевести сборку maven в конструкцию Gradle. Я столкнулся с препятствием на экране, так как наши внутренние артефакты развернуты во внутренний репозиторий, требующий проверки подлинности.
И вы знаете, что означает аутентификация... имена пользователей и пароли. Проблема в том, что я не хочу, чтобы разработчики хранили свой пароль как открытый текст на своих жестких дисках. Maven поддерживает шифрование паролей, но я не вижу, как сделать Gradle сделать это.
Есть ли какой-то волшебный доступ к Ivy CredentialStore, который будет поддерживать зашифрованные пароли? или мне придется ждать новой версии?
Ответы
Ответ 1
Мы используем Artifactory и Ivy CredentialsStore отлично работает.
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}
может быть Конкретным соглашением Artifactory.
Ответ 2
Плагин gradle-credentials позволит вам зашифровать содержимое файла gradle.encrypted.properties, который затем будет доступен в build как свойства объекта credentials
.
Плагин настроек gradle maven позволит вам использовать систему Maven для шифрования/дешифрования учетных данных.