jenkins自动化部署jar
2020-06-17 本文已影响0人
给代码点颜色
简介
jenkins版本:2.222.4-1.1
文中提到的脚本见:https://www.jianshu.com/p/0d1e4ac23036
安装配置
下载
地址:https://www.jenkins.io
依赖工具
- maven
- git
- jdk
需要自行安装
运行
java -Xmx512m -jar jenkins.war -Dhudson.util.ProcessTree.disable=true --httpPort=9876
访问地址
http://{ip}:{port}
配置
位置:系统管理->全局工具配置
maven配置
settings文件路径配置
自动化部署
新建任务
输入任务名称,选择<构建一个自由风格的软件项目>,确认
配置
源码管理
- 选择git,复制你项目的git地址,如:http://{ip}/{group}/{project}.git
- 添加Credentials->类型选择<Username with password>,输入用户名密码(git账户)和ID->添加
- 指定分支,如:*/master
构建触发器
GitHub hook trigger for GITScm polling
需要在git服务配置webhook:http://{jenkins-ip}:{jenkins-port}/git/notifyCommit?url=jenkins配置的git项目地址
位置:项目git地址->settings->Integrations
git上提交之后会触发通知,如果需要触发通知之后自动构建,还需要勾选<轮询SCM>,不用配置日程表。
轮询SCM
配置日程表之后,如有更新,会在日程表配置时间进行构建。
构建
顶层Maven目标
选择maven版本(全局工具配置的maven),目标一般写:clean package
。
高级->POM写$WORKSPACE/pom.xml
,属性写:-Dfile.encoding=UTF-8
等。配置文件选全局工具配置settings.xml
增加构建步骤
选择<执行shell>,配置如下:
#项目预部署所在目录
server_path=/xxx
#项目名称,不带后缀
server_name=xxx
#此配置构建项目的根目录
build_project=${WORKSPACE}
#备份之前构建的项目
cd $server_path
./bak.sh
#移动项目到预部署目录
cd $build_project
\cp target/${server_name}*.jar $server_path
#把构建好的项目传到对应的服务器上
cd $server_path
#避免启动的进程被杀掉
JENKINS_NODE_COOKIE=dontKillMe
./remote_ci.sh
jenkins执行完脚本之后会把脚本创建的进程kill掉,避免的方式目前有三种:
- 启动的时候加上
-Dhudson.util.ProcessTree.disable=true
- shell内加
JENKINS_NODE_COOKIE=dontKillMe
- shell内加
BUILD_ID=dontKillMe
构建完成之后自动打tag
增加构建后操作步骤->git publisher。
如下:
图片.png