一:在windows环境下:

使用jenkins搭建自动化部署方案,可以省去不断的去部署工程工程的麻烦,也有利于管理稍大团队的开发。

主要步骤有(以java为主):

1.在服务器中搭建搭建开发环境java的jdk和maven。

2.下载jenkins开发包,对,它只是一个war包(jenkins.war)。地址:https://jenkins.io/download/

3.采用命令行

java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war 启动jenkins。设置 -Dhudson.util.ProcessTree.disable=true 是为了后面自动发布的时候不杀死批处理进程,访问:http://localhost:8080,则可访问页面。安装插件,其实jenkins很多服务都是在于插件上。将推荐都装上吧,省的后面闲话,然后创建工程时,没有maven工程,因为没有插件,所以安装maven Integration plugin或者maven-plugin.hpi插件即可。

4.将开发环境如jdk和maven配置到jenkins页面(进入系统管理---->>>全局工具配置)。

jenkins如何设置一个构建任务完成后执行另外的任务 jenkins立即构建_jar

在git中指定代码保存路径:Additional Behaviours  -----》Check out to a sub-directory中填入子目录的路径,比如/opt/work

jenkins如何设置一个构建任务完成后执行另外的任务 jenkins立即构建_maven_02

5.新建maven项目后,在项目配置中配置clean install  -D maven.test.skip=ture  自动打包并跳过测试文件。

jenkins如何设置一个构建任务完成后执行另外的任务 jenkins立即构建_maven_03

jenkins如何设置一个构建任务完成后执行另外的任务 jenkins立即构建_maven_04

6.删除旧的构建,否则.jenkins缓存中暂用硬盘会急剧增加。

7.设定代码触发机制:

选中“轮询SCM”:在日程表总添加以下字符串,代表每5分钟检查一次svn,如有代码有更新则触发构建。

H/5 * * * *

8.设置代码保存空间:

Build -> 使用自定义的工作空间

在目录下添加工作空间如:    D:\java-software-setup\jenkins-java

9.自动化部署(以发布到本地windows文件下为例)

 

Post Steps->执行windows批处理命令:       在框中填入以下批处理命令

@echo off

 

taskkill /F /FI "windowtitle eq newEureka" /im cmd.exe /t
taskkill /F /FI "windowtitle eq newGate" /im cmd.exe /t
taskkill /F /FI "windowtitle eq newAdmin" /im cmd.exe /t
taskkill /F /FI "windowtitle eq newUi" /im cmd.exe /t
copy /Y D:\xiangmu\svn\ajb-sc-eureka-center\target\ajb-sc-eureka-center-1.0-SNAPSHOT.jar D:\fa
copy /Y D:\xiangmu\svn\ajb-sc-gate\target\ajb-sc-gate-1.0-SNAPSHOT.jar D:\fa
copy /Y D:\xiangmu\svn\ajb-sc-manage-parent\ajb-sc-manage-admin\target\ajb-sc-manage-admin-1.0-SNAPSHOT.jar D:\fa
copy /Y D:\xiangmu\svn\ajb-sc-manage-parent\ajb-sc-manage-ui\target\ajb-sc-manage-ui-1.0-SNAPSHOT.jar D:\fa
start "newEureka" cmd /c "java -jar D:\fa\ajb-sc-eureka-center-1.0-SNAPSHOT.jar"  
start "newGate" cmd /c "java -jar D:\fa\ajb-sc-gate-1.0-SNAPSHOT.jar"  
start "newAdmin" cmd /c "java -jar D:\fa\ajb-sc-manage-admin-1.0-SNAPSHOT.jar"  

 

start "newUi" cmd /c "java -jar D:\fa\ajb-sc-manage-ui-1.0-SNAPSHOT.jar"  

注意:copy命令前面的路径为jenkins的工作路径,后面的路径为部署的路径。前四行是关闭原有打开的工程,中间四行是复制,后面四行是打开新复制的工程。

注意:当要重新配置时,需要删除C:\Users\Administrator下生产的.jenkins文件。

一:在linux环境下:

其他的与在windows下配置一样,下面只说不同的地方。

1.启动命令如下,进入存放jenkins.war的目录运行一下命令:

nohup  java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war &

2.进入系统管理---->>>全局工具配置,配置maven和jdk。

jdk,查找jdk安装路径:

第一种:java  -verbosse:
最后两行:

[Loaded java.lang.Shutdown from /usr/java/jdk1.8.0_144/jre/lib/rt.jar]
[Loaded java.lang.Shutdown$Lock from /usr/java/jdk1.8.0_144/jre/lib/rt.jar]
其中:/usr/java/jdk1.8.0_144即为安装路径。

第二种:对于手动安装的jdk,配置了jdk环境的话,需要使用echo $JAVA_HOME  ,获取路径。

maven配置和安装maven:查找maven安装路径:

mvn -v

Maven home: /usr/share/maven
Java version: 1.8.0_191, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix"
其中:/usr/share/maven为安装路径,/usr/share/maven/conf/settings.xml为配置文件路径。

2.进入项目中设置git。

jenkins如何设置一个构建任务完成后执行另外的任务 jenkins立即构建_jar_05

在文件夹下新建deloy.sh,并输入:

#!/bin/
#4g0eIl//m3sOo1DRaYPNb2YBrqWkOn3cG87qMGC3Bg
#src路径
src_path=/opt/work
#jar文件名称
bin_name=bigdata-web-exec
#日期标志
date_flag=`date "+%Y%m%d%H%M%S"`
#目标路径
bin_target_path=/opt/bin/bak
#运行的jar文件
run_bin_path=/opt/bin/bi-web-1.0.0-exec.jar
#应用日志
log_path=/opt/bigdata-web.log
#切换到工程路径
cd $src_path
#更新代码
#git pull
#构建工程
#mvn clean package -Pprod -Dmaven.test.skip=true
#复制jar文件
cp ${src_path}/target/${bin_name}.jar ${bin_target_path}/${bin_name}-${date_flag}.jar
#删除软链
rm -rf ${run_bin_path}
#创建软链
ln -s ${bin_target_path}/${bin_name}-${date_flag}.jar ${run_bin_path}
#删除旧程序
lsof -i:8081 | awk 'NR>1 {print $2}' |xargs kill -9
#运行程序
cd ${bin_target_path}
java -jar ${run_bin_path} &

在脚本运行中输入:sh  deloy.sh即可。

注意:当要重新配置时,需要删除C:\Users\Administrator下生产的.jenkins文件。