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

133931_1dEW_2728720.png

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

134204_ySUH_2728720.png

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

134558_OqYV_2728720.png

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

134654_M5ak_2728720.png

3.0进入全局工具配置

134822_khJo_2728720.png

3.1配置jdk

134938_FWT0_2728720.png

3.2配置git

134955_MpeU_2728720.png

3.3配置maven

135017_RxSU_2728720.png

3.4保存配置

135039_PlAz_2728720.png

4.0系统设置

135120_X2Sr_2728720.png

4.1配置服务器免密登录

135355_G2AY_2728720.png

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

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

4.2保存配置

5.0新建任务

135834_UNxu_2728720.png

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

135936_IikD_2728720.png

 

5.1简单配置下新建任务

140240_Gf2N_2728720.png
5.2配置源码管理

140414_8VmZ_2728720.png

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

2:项目的git地址

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

4:选择要拉取的分支

5.3配置maven

140746_KCFs_2728720.png

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

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

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

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

141038_DF6w_2728720.png

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

注:  1. 本地项目中通过maven打到本地的包是不能被找到的(可以打到maven私服里,配置maven从maven私服获取)

      2. 本地项目中/src/main/java下面如果有xml文件的话在pom中需要加上

     <bulid> 

        <resources>
            <resource>
            <directory>src/main/java</directory>
            <includes><include>**/*.xml</include>
            </includes>
            </resource>
            <resource>
            <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>

否则打包的时候xml文件可能不会被打到war包中

转载于:https://my.oschina.net/blr/blog/1825939

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值