我对 Jenkins 和 maven 项目真的很陌生,即使使用一个简单的示例项目,我也开始发疯 https://github.com/jglick/simple-maven-project-with-tests.git
还使用 Jenkins 的管道示例脚本 GitHub + Maven
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
git 'https://github.com/jglick/simple-maven-project-with-tests.git'
// Run Maven on a Unix agent.
sh "mvn -Dmaven.test.failure.ignore=true clean package"
但是我收到下一个错误:
+ mvn -version
/var/lib/jenkins/workspace/app-maven@tmp/durable-dba02bb4/script.sh: line 1: mvn: command not found
我找到一篇文章说使用此方法将 mvn 路径保存在变量上并使用它:
steps {
// Get some code from a GitHub repository
git 'https://github.com/alvarosjf/maven-app.git'
// Run Maven on a Unix agent.
def mvnHome = tool name: '3.6.3', type: 'maven'
sh "${mvnHome}/bin/mvn -version"
//sh 'mvn -version'
但这在启动时显示错误的情况甚至更糟
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: Not a valid stage section definition: "def mvnHome = tool name: '3.6.3', type: 'maven'". Some extra configuration is required. @ line 5, column 7.
stage('Build') {
^
1 error
有什么技巧可以尝试使用带有 Github webhooks + maven 的简单 jenkins 管道吗?
你的管道代码似乎是正确的,但你需要在 Jenkins 本身中配置使用的工具(在你的脚本中,在 3.6.3 版中是 maven(。
这可以通过以下方式完成:
"管理 Jenkins -> 配置工具",在 maven 部分中,添加一个新实例(选择您想要的任何名称,在管道脚本中也使用此名称tool name: 'your-name' type: 'maven'
(其余部分保持不变,这将通过从 Apache 服务器下载自动安装 Maven