如何从詹金斯作业运行位于本地驱动器中的jar?

问题描述 投票:0回答:1
java maven jenkins executable-jar jenkins-job-dsl
1个回答
0
投票

如果 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插件来定义下载规范等。

© www.soinside.com 2019 - 2024. All rights reserved.