Как настроить учетные данные пользователя задачи Gradle с секретными переменными GitLab CI? Я использую плагин Gradle Maven , а вот фрагмент из build.gradle
repositories {
maven {
credentials {
username artifactUser
password artifactPass
}
url "..."
}
}
Я пытался использовать gradle.properties
, как показано ниже
artifactUser=${env.MAVEN_REPO_USER}
artifactPass=${env.MAVEN_REPO_PASS}
И несколько способов доступа к секретным переменным в файле .gitlab-ci.yml
(поскольку gradle.properties не берется из gradle или переменные не преобразуются правильно, он находится в корневом каталоге проекта)
Метод 1
'./gradlew publish -x test -PartifactUser=${env.MAVEN_REPO_USER} -PartifactPass=${env.MAVEN_REPO_PASS}'
Ошибка: /bin/bash: line 56: -PartifactUser=${env.MAVEN_REPO_USER}: bad substitution
Метод 2
before_script:
- chmod +x ./gradlew
- export REPO_USER=${env.MAVEN_REPO_USER}
- export REPO_PASS=${env.MAVEN_REPO_PASS}
...
deploy:
stage: deploy
script:
- ./gradlew publish -x test -PartifactUser=$REPO_USER -PartifactPass=$REPO_PASS
Я использую openjdk:8-jdk-slim
образ для сборки с использованием Gradle-оболочки. Похоже, есть несколько проблем с этим типом использования переменных, есть ли у нас какое-то решение?