下载 Jenkins (也可官网下载)
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
安装 jdk
配置环境变量
vim/etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_141(jdk路径)
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
Maven 环境配置
export MAVEN_HOME=/usr/local/src/apache-maven-3.3.9(Maven路径)
export PATH=$MAVEN_HOME/bin:$PATH
刷新配置
source /etc/profile
安装Maven 安装Git 请各位小伙伴自行百度
重点 打开jenkins客户端后 按照以下步骤搭建,健步如飞(本人花费两天的时间整理)
插件(如有不需要的插件,可自行决定是否安装)
- jobConfigHistory
• 查看修改历史
• 可对误删的job进行恢复
- Publish over SSH
• 远程发布
○ 如: 在A机器上打包、发布到B机器上
- Maven Integration
• 项目依赖管理
- Role Strategy Plugin
• 权限管理
- Git Parameter
参数化构建过程 插件
全局配置
- Git
· 需在jenkins的可视化页面的设置里,指定服务器上git的Path
系统配置
- Publish over SSH
· name:名称(xxx服务器)
· Hostname:要发布的服务器ip(0.0.0.0)
· Username:服务器的用户名(root)
· Remote Directory:要部署的路径(如/root/tomcat)
· Passphrase / Password:服务器密码
- Maven
Maven_Home:设置Maven路径
Maven项目创建
- 选择Maven项目
- 丢弃旧的构建
○ 策略:Log Rotaion
○ 保持构建的天数:7
○ 保持构建的最大个数:10
○ 发布包保留天数:7
○ 发布包最大保留#个构建:1
- 参数化构建过程
○ 添加参数:git参数
○ 名称:tag
○ 参数类型:标签
○ 排序方式:DESCENDING_SMART
○ 已选值:NONE
○ 列表数量:30
- 源码管理
○ Repositories
§ Repository URL:仓库地址
§ Credentials:git仓库的账号密码
○ Branches to build
§ 指定分支:${tag}
- Build
○ Root POM:pom.xml
○ Goals and options:clean install -Dmaven.test.skip=true(只构建不运行)
§ 构建时跳过Test
- Post Steps
○ 选择 Run regardless of build result
配置到此时 应先去构建项目是否可以成功打成war包,并是否能发布目标服务器,如果成功则可进行下一步配置,否则就要解决打包失败的问题。
- 构建后操作(此步配置小伙伴可参考理解,不懂可以去查询度娘的回答)
○ Set build artifacts over ssh
§ Name:publish over ssh配置后可进行选择
§ Source files:目标文件,如:
□ **/*.war (文件)
□ dist/** (目录)
§ Remove prefix:target/
□ 移除目录,否则远程服务器上会新建 target目录
§ Remote directory:去掉选择的Sever Remote Directory要后发送到远程服务的目标路径,如:
□ /shaolin-app-buildSuccess/
§ Exec command:详见Tomcat发布脚本
§ Exec in pty:执行脚本后关闭
以下为 tomcat启动脚本,也可以自行参考
#!/bin/sh
export BUILD_ID=dontKillMe
set -x
#这里需要改Tomcat路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
tomcat_home=/root/tomcat/shaolinapp-houtai-test
#这里需要改Tomcat路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
#这里需要改JDK路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
export JAVA_HOME=/root/software/jdk/jdk1.8.0_141
#这里需要改JDK路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
export PATH=/root/jdk1.8.0_141/bin:/root/jdk1.8.0_141/bin:/sbin:/usr/sbin:/bin:/usr/bin
export CLASSPATH=.:/root/jdk1.8.0_141/lib/dt.jar:/root/jdk1.8.0_141/lib/tools.jar
#【3.1】 停止tomcat变量
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#【3.2】 启动tomcat变量
STARTTOMCAT=$tomcat_home/bin/startup.sh
#【3.4】 获取进程ID
#这里需要改Tomcat路径↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
pid=`ps -ef |grep /root/tomcat/shaolinapp-houtai-test/conf |grep -v grep | awk '{print $2}'`
#这里需要改Tomcat路径↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
# pid存在则Kill PID
echo "-------------"
echo $pid
echo "-------------"
if [ ! -n $pid ]; then
echo "$tomcat_home未运行"
else
echo "$tomcat_home运行中"
kill -9 $pid
fi
#删除Tomcat下备份的文件
#rm -rf $tomcat_home/bak/*
#获取系统时间
#save_date=`date +%Y-%m-%d,%H:%m:%s`
#强制创建 bak目录用来存储备份文件
#mkdir -p $tomcat_home/bak
#备份
#cp $tomcat_home/webapps/ROOT.war $tomcat_home/bak/$save_date.war
#删除webapps 下的root文件
rm -rf $tomcat_home/webapps/ROOT*
#把jenkins打完包后的文件复制到 webapps下
mv $tomcat_home/jenkins-war/ROOT.war $tomcat_home/webapps/
#启动tomcat
nohup bash $STARTTOMCAT
以下是成功部署配图