jenkins部署java项目在本地(三)

(1)新建maven构建的java项目

pom.xml的配置


  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.0.0

    cn.demo
    jenkins_jar
    0.0.1-SNAPSHOT
    jar
    jenkins_jar
    http://maven.apache.org
  
    
        jenkins_jar
        
            
                true
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    ${compiler.source}
                    ${compiler.target}
                    ${project.build.sourceEncoding}
                
            
            
            
    org.apache.maven.plugins
    maven-shade-plugin
    2.4.1
    
        false
    
    
        
            package
            
                shade
            
            
                
                    
                        *:*
                        
                            META-INF/*.SF
                            META-INF/*.DSA
                            META-INF/*.RSA
                        
                    
                
                
                    
                       cn.demo.jenkins_jar.demo.Demo
                    
                    
                        META-INF/spring.handlers
                    
                    
                        META-INF/spring.schemas
                    
                
            
        
    

        
    
    
        UTF-8
        1.7
        1.7
        4.12
    

    
        
            junit
            junit
            ${junit.version}
            test
        
            
View Code

 

(2)新建jenkins项目,开始配置

(3)前面就是配置项目的描述,以及源码关联 和以往的配置一样

(4)在Pre-step这一栏配置中 选择 execute shell

jenkins部署java项目在本地(三)_第1张图片

(5)在execute shell 框框中填写脚本命令 (也可以把脚本命令写在本机某个位置,然后执行该脚本 比如 把命令都放到 /home/start.sh 文件中 ,然后再在脚本中就写 sh /home/start.sh)

jenkins部署java项目在本地(三)_第2张图片

(6)脚本命令详解 (#代表注释内容,第一行不属于注释,不能省略)

#!/bin/bash
cd /usr/local/tool/jenkins_program/jenkins_jar #进入指定目录
#得到进程ID pid,kill该进程
pid=`cat /usr/local/tool/jenkins_program/jenkins_jar/pid` #得到/usr/local/tool/jenkins_program/jenkins_jar/目录下 pid文件中的内容
if [ -n "$pid" ]  
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid    #kill进程ID为 pid 的进程
fi

#将要执行的jar 复制到指定目录下  (这里可以不用写,如果写的话   /usr/lib/jenkins/workspace/jenkins_jar/target/jenkins_jar.jar 是你jenkins中工作区间中你的项目的jar包存放位置

/usr/local/tool/jenkins_program/jenkins_jar 是你的目标执行该jar的位置,如果你打算直接在工作区间目录下执行,这个可以省略不写)
cp /usr/lib/jenkins/workspace/jenkins_jar/target/jenkins_jar.jar  /usr/local/tool/jenkins_program/jenkins_jar

#执行jar,并将进程挂起,保存进程ID到 pid文件
echo "Execute shell Finish"
BUILD_ID=dontKillMe nohup java -jar /usr/lib/jenkins/workspace/jenkins_jar/target/jenkins_jar.jar  &
echo "$!" > pid #得到刚刚启动的进程id,写到/usr/local/tool/jenkins_program/jenkins_jar目录下的pid文件中,这就是上面cd语句的作用

BUILD_ID=dontKillMe :防止杀死刚刚启动的进程

nohup java -jar /usr/lib/jenkins/workspace/jenkins_jar/target/jenkins_jar.jar  &   #执行项目jar包,将进程启动并且挂起

(7)配置完后可以执行构建了,结果会直接在Console Output输出

 

你可能感兴趣的:(jenkins部署java项目在本地(三))