私のプロジェクトには、gradlewシェルスクリプトとJenkinsfileがルートに含まれています。 Jenkinsfileが含まれています:私は私のレポジトリにこれを押すとgradlew from Jenkinsfile
import jenkins.model.Jenkins
node('jnlp-slave-with-java-build-tools') {
sh 'gradlew build -x check'
}
、ジェンキンスはJenkinsfileを見つけ、gradlewを実行しようとします。
Running on ECS-2d51eb80546b7 in /home/jenkins/workspace/tems_chore_add-jenkins-file-7VBJJMGP4JS3QPUSNL2ROWDE3ECV5A4EJQJ6Z5VCSPDK7UABIPVQ
[Pipeline] {
[Pipeline] sh
[tems_chore_add-jenkins-file-7VBJJMGP4JS3QPUSNL2ROWDE3ECV5A4EJQJ6Z5VCSPDK7UABIPVQ] Running shell script
+ gradlew build -x check
/home/jenkins/workspace/tems_chore_add-je[email protected]tmp/durable-838b5837/script.sh: 2: /home/jenkins/workspace/tems_chore_add-je[email protected]tmp/durable-838b5837/script.sh: gradlew: not found
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
GitHub has been notified of this commit’s build result
ERROR: script returned exit code 127
Finished: FAILURE
gradlewスクリプトが配置されているように、どのように私は私のJenkinsfileを変更することができ、正しく実行します。それはことを私に知らせる、しかし、失敗しましたか?
フォロー#1
次で
import jenkins.model.Jenkins
node('jnlp-slave-with-java-build-tools') {
sh './gradlew build -x check'
}
結果:
tems_chore_add-jenkins-file-7VBJJMGP4JS3QPUSNL2ROWDE3ECV5A4EJQJ6Z5VCSPDK7UABIPVQ] Running shell script
+ ./gradlew build -x check
/home/jenkins/workspace/tems_chore_add-je[email protected]tmp/durable-3c901cf0/script.sh: 2: /home/jenkins/workspace/tems_chore_add-je[email protected]tmp/durable-3c901cf0/script.sh: ./gradlew: not found
だからまだ 'が見つかりません' というエラーを取得。
フォロー#2
実行:
import jenkins.model.Jenkins
node('jnlp-slave-with-java-build-tools') {
files = sh (script: 'ls -l',
returnStdout: true).trim()
echo "${files}"
sh './gradlew build -x check'
}
出力total 0
、おそらく私が間違って、ディレクトリにいるか、アクセス許可の問題を持っていることを示唆していますか?提案は大歓迎です!