如果 jar 安装在运行 jenkins 作业的同一台机器上,那么您可以使用硬编码路径调用 exec 插件。
例如
pipeline {
agent { label '...' } <-- Need to specify agent that has the jar
stages {
stage('Run Jar') {
sh "java /var/lib/mylib/mylib-1.0.0.jar ..."
}
}
}
但最佳实践是让一个作业运行“mvn clean deploy”将 jar 文件上传到远程存储库(nexus 或 artifactory),然后另一个作业将 jar 工件下载到其工作区并执行 jar:
pipeline {
agent { label 'os-linux' } <-- any agent running linux
stages {
stage('Install Jar') {
... download jar from artifactory to e.g. ${WORKSPACE}/mylib.jar ..
}
stage('Run Jar') {
sh "java ${WORKSPACE}/mylib.jar ..."
}
}
}
“从artifactory下载jar”可以是curl命令,或者您可以使用artifactory插件来定义下载规范等。