jenkins自动化部署jar

2020-06-17  本文已影响0人  给代码点颜色

简介

jenkins版本:2.222.4-1.1

文中提到的脚本见:https://www.jianshu.com/p/0d1e4ac23036

安装配置

下载

地址:https://www.jenkins.io

依赖工具

需要自行安装

运行

java -Xmx512m -jar jenkins.war -Dhudson.util.ProcessTree.disable=true --httpPort=9876

访问地址

http://{ip}:{port}

配置

位置:系统管理->全局工具配置

maven配置

settings文件路径配置

自动化部署

新建任务

输入任务名称,选择<构建一个自由风格的软件项目>,确认

配置

源码管理
  1. 选择git,复制你项目的git地址,如:http://{ip}/{group}/{project}.git
  2. 添加Credentials->类型选择<Username with password>,输入用户名密码(git账户)和ID->添加
  3. 指定分支,如:*/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掉,避免的方式目前有三种:

  1. 启动的时候加上-Dhudson.util.ProcessTree.disable=true
  2. shell内加JENKINS_NODE_COOKIE=dontKillMe
  3. shell内加BUILD_ID=dontKillMe
构建完成之后自动打tag

增加构建后操作步骤->git publisher。

如下:


图片.png
上一篇下一篇

猜你喜欢

热点阅读