Я работаю над проектом Kotlin spring-boot с Gradle в качестве инструмента для сборки. Я использую плагин Gradle Release от Researchgate для достижения функциональности плагина Maven Release. Плагин работает отлично, когда я запускаю его с моей локальной машины. Тем не менее, это происходит со следующей ошибкой при запуске этого плагина из конвейера gitlab
Есть идеи, что может быть не так?
Execution failed for task ':activity-gradle:activity-app:preTagCommit'.
Failed to push to remote - [][remote: You are not allowed to upload code.
fatal: unable to access 'https://gitlab-ci-token:[MASKED]@gitlab.com/xxxxx-xxxxx/services/xxxxx-xxxxx.git/': The requested URL returned error: 403
]
* Try:
Я сгенерировал S SH publi c секретных ключей. Ключ Publi c установлен как Deploy Keys в настройках gitlab CI / CD с доступом для записи. Закрытый ключ устанавливается как переменная SSH_PRIVATE_KEY в переменных gitlab.
Вот мой шаг gitlab, который не выполняется
release:prod:
stage: prod
script:
- git config user.email "xxxxx@xxxxx.com"
- git config user.name "xxxxx xxxxx"
- git checkout -f master
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519
- chmod 400 ~/.ssh/id_ed25519
- ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
- ssh-add ~/.ssh/id_ed25519
- ./gradlew :xxxxx-xxx:release --info -Prelease.useAutomaticVersion=true
- ./gradlew :release --info -Prelease.useAutomaticVersion=true
- rm -f $TARGET_DIR/*SNAPSHOT.jar
only:
- master
when: manual
allow_failure: false
artifacts:
paths:
- "*/build/libs/*-SNAPSHOT.jar"
when: always
Версия Gradle: 6.2.2 Выпуск пульсирующей версии id ("net .researchgate.release") версия "2.6.0"