#jenkins #gradle #groovy #jenkins-pipeline #jenkins-groovy
#дженкинс #gradle #groovy #дженкинс-конвейер #дженкинс-заводной
Вопрос:
Я получил очень простой скрипт Groovy в Jenkins, запущенный в конвейере
Для этого кода:
sh 'chmod x gradlew'
sh './gradlew build --info'
Я получаю эту ошибку:
[Pipeline] sh
./gradlew build --info
/var/jenkins_home/workspace/Pipeline with Gradle@tmp/durable-646d54ad/script.sh: line 1: ./gradlew: Permission denied
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 126
Finished: FAILURE
Чего я здесь не понимаю?
Комментарии:
1. Как выглядит
Jenkinsfile
блок вокруг этого? Чтоgradlew
делается на высоком уровне?
Ответ №1:
Похоже, у него нет разрешения на запуск gradlew из вашего сообщения об ошибке.
line 1: ./gradlew: Permission denied
Вы можете сделать следующее:
- SSH на компьютер jenkins
- Переключиться на пользователя jenkins
sudo su jenkins -
- Проверьте разрешения для файла gradlew с помощью команды
ls -l /var/lib/jenkins/workspace/Pipeline with Gradle
- Запустите connand
./gradlew build --info
с терминала и убедитесь, что он работает, прежде чем запускать задание снова
Я использую декларативные конвейеры с использованием groovy, и это работает нормально. На компьютере установлен grails, и пользователь jenkins может запустить команду. Я использую:
sh './gradlew dependencies amp;amp; ./gradlew assemble amp;amp; find ./ -name "*.war"'
Пожалуйста, добавьте комментарий, если у вас есть еще какие-либо вопросы…