Jenkins+maven+git自动化打包发布

环境: jenkins2.107.3+jdk1.8.0_73+maven3.5.3+git1.8.3.1+centos7.2

1.0安装Jenkins(自行安装)

安装成功之后需要在

/etc/sysconfig/jenkins里面修改JENKINS_PORT="一个没有被占用的端口"

修改JENKINS_USER="root"(否则5.4里面的shell可能会没有执行权限)

修改Jenkins home, webroot和日志的所有权

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

2.0登录Jenkins

下载需要的插件(SSH, Git, Maven,  Publish Over SSH)

在这可以查看已安装的插件

在这搜索要安装的插件,找到要安装的插件选中之后点击直接安装,等待安装成功就行(有些插件可能需要翻墙或者时间比较长)

3.0进入全局工具配置

3.1配置jdk

3.2配置git

3.3配置maven

3.4保存配置

4.0系统设置

4.1配置服务器免密登录

1:私钥(怎么生成找运维)  2起个好记的名字就行 3:服务器ip 4:用户名  5:远程目录

没有涂鸦的Passphrase里面写个自己容易记的密码

4.2保存配置

5.0新建任务

输入任务名称,然后选中构建一个maven项目(因为我本地的项目是maven项目)

5.1简单配置下新建任务


5.2配置源码管理

1:选择git(因为我的版本管理是在git上托管的,在svn上的需要下载相关插件然后配置)

2:项目的git地址

3:点击添加,主要是输入git的用户名跟密码,然后选中这个用户就行

4:选择要拉取的分支

5.3配置maven

Root POM是项目的pom文件地址,如果正常提交项目的话直接填写pom.xml就行(如果不对的话就去Jenkins的workspace下面看看具体位置)

clean package -Dmaven.test.skip=true是打包命令 跳过测试

5.4配置打包完成之后要执行的操作

说起来就是 拉取git上的代码然后使用maven打包然后把包拷贝到要发布的服务器上然后执行shell脚本重启服务(至少需要目标服务器信任Jenkins服务器,搞不定的就去找运维)

scp -P 524 /jenkins/workspce/xx/xx.war /usr/local/tomcat-xxx/webapps/xxx.war

如果端口是22的话 -P 524可以省略

fire.sh tomcat包名 项目名字

fire.sh内容

#!/bin/bash

. /etc/profile
tomcat_home="/usr/local/$1" #一定要用引号引上,否则会把当前进程kill掉
project_name="$2"  #一定要用引号引上,否则会把当前进程kill掉
STARTTOMCAT=$tomcat_home/bin/startup.sh
BUILD_ID=dontKillMe  #这个一定加上,否则tomcat会启动失败(告诉Jenkins在杀死子进程的时候不要杀的这个进程)
echo "关闭$tomcat_home"  
tompid=$(ps -ef|grep "$1" | grep -vE "grep|fire.sh" | awk -F" " '{print $2}')
for  pid in  $tompid
    do
         /usr/bin/kill -9 $pid
done

#删除日志
#rm  $tomcat_home/logs/* -rf

#删除缓存
rm  $tomcat_home/work/* -rf 
rm  $tomcat_home/webapps/$project_name -rf 
rm  $tomcat_home/webapps/ROOT -rf
if [ -f $tomcat_home/webapps/$project_name.war ]
then
mv $tomcat_home/webapps/$project_name.war $tomcat_home/webapps/$project_name.war$(date -d "today" +"%Y%m%d_%H%M%S")
mv $tomcat_home/webapps/$project_name.war123 $tomcat_home/webapps/$project_name.war
fi
sleep 5
echo "开启$tomcat_home" 
$STARTTOMCAT

猜你喜欢

转载自my.oschina.net/blr/blog/1825939