[英]Why is the mvn command not found in this declarative jenkins pipeline script?
我從https://jenkins.io/doc/book/pipeline/syntax/#tools獲得了這個示例
管道腳本:
pipeline {
agent any
tools {
maven 'apache-maven-3.3.9'
}
stages {
stage('Example') {
steps {
sh 'mvn --version'
}
}
}
}
apache-maven-3.3.9在我的全局工具配置中定義。
腳本的輸出是
Started by user *************
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Running on SRV-CI-MADE-UNIX in /home/jenkins/workspace/*************
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Tool Install)
[Pipeline] tool
[Pipeline] envVarsForTool
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Example)
[Pipeline] tool
[Pipeline] envVarsForTool
[Pipeline] withEnv
[Pipeline] {
[Pipeline] sh
+ mvn --version
/home/jenkins/workspace/*************@tmp/durable-d4209a18/script.sh: line 1: mvn: command not found
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
[BFA] Scanning build for known causes...
[BFA] No failure causes found
[BFA] Done. 0s
ERROR: script returned exit code 127
Finished: FAILURE
為什么找不到mvn命令?
我知道顯然還有其他方法可以執行此操作,但這是Jenkins文檔本身的示例...
這是正確的示例(我也對其進行了測試),但是如果您只有master
節點,則它可以正常工作。
我認為您剛剛在Global Tool Configuration
中master
節點Global Tool Configuration
了Maven工具,但是我看到您在SRV-CI-MADE-UNIX
節點上執行了您的工作,並且還需要為此節點提供正確的Maven配置。
因此,要解決此問題,我想您需要執行以下步驟:
master
或SRV-CI-MADE-UNIX
)中提供正確的代理(而不是agent any
); Global Tool Configuration
目錄相同的指定節點上,或在“ Manage Jenkins -> Manage Nodes -> <YOUR_NODE> -> Configure -> Node Properties -> Tool Locations
為該節點添加特定的Maven工具Manage Jenkins -> Manage Nodes -> <YOUR_NODE> -> Configure -> Node Properties -> Tool Locations
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.