Jenkins从svn下载项目构建后打war包发布到远程Linux服务器[图文]

Jenkins从svn下载项目构建项目打war包发布到远程Linux服务器

需求

公司做了个单体项目,打war包的形式发布到服务器上,项目初始阶段需要不断的迭代开发,那么发布流程是比较麻烦的,所以弄了一个jenkins CIDI持续继承部署,来简化后边的流程,弄好以后,开发好的代码提交svn主干,点点jenkins的按钮,即可自动从svn down最新的代码,maven构建项目打war包,上传到服务器,配合shell脚本自动实现旧项目的打包备份,新项目的部署,重启tomcat。

因为远程服务器只有一个端口,同时公司的svn服务器是内网的,所以只能将jenkin安装到我本地,在本地构建好war包,在部署到远程服务器。

Jenkins的安装和插件的安装

jenkin的安装不说了,插件的话主要安装以下:
1.Deploy to container Plugin 发布到tomcat容器的插件
2. Locale plugin 汉化插件-可以不安装
3. Maven Integration plugin Maven插件构建项目用的
4. SSH plugin 链接远程服务器要用到的SSH插件
5. Publish Over SSH 将war包发布到服务器上的插件
6. Subversion SVN插件

配置

1.Global Tool Configuration 全局工具配置中设置好JDK和Maven路径
在这里插入图片描述
2.Configure System 系统设置中,配置好远程登录服务器的登录信息等
在这里插入图片描述
需要注意的点
SSH Server Name: 起个名字
Hostname:远程就写服务器IP,本地就写本地ip或者localhost
Username: 服务器用户名
Remote Directory: 发布war到远程服务器的目录,我这里并没有直接发布到tomcat的wabapp目录
Passphrase / Password: 服务器的密码,如果用了秘钥登录,这里填写秘钥的密码
Path to key: 如果用了秘钥登录,这里填写秘钥的地址
Key: 填写秘钥的内容,这里需要把-----BEGIN RSA PRIVATE KEY----------END RSA PRIVATE KEY-----都copy上,一开始这里遇到个坑。
Port:端口号
配置好后,点击测试连接
在这里插入图片描述

new 任务

1.新建一个任务,选择构建maven项目在这里插入图片描述
2.如图,进行配置,

在这里插入图片描述
3. 构建项目
红色代表报错
蓝色代表成功
黑色强制中断
黄色是流程大部分成功,但是最后执行脚本的时候无权限导致的
在这里插入图片描述
输出信息
在这里插入图片描述
jenkin安装,会在你本地c盘创建其需要的配置文件等,打包构建项目都会放在这里,安装的插件也会放在这里,所以你就算吧war包删除了,只要c盘的这个配置没删,下次重新安装jenkins的war包,这些插件还都存在。

总结

弄的时候遇到了一些小坑,这里提一下,
1.一个是连接ssh服务的时候一直连不上,后来发现是秘钥的内容copy的不全
2.maven执行命令构建项目的时候报错了,同时加上你想要打包成的名字,因为本地和发布到服务器上的包名是不一样的。
3.执行shell脚本的时候,遇到了权限问题,请教公司运维同事后解决。

附带shell脚本,自己改吧改吧就能用

#!/bin/bash
DATE=`date +%F-%H-%M`

PROJECT_ADMIN='ROOT'
PWD='你的服务器密码'


ROOTDIR='/data/tomcat/jenkins_workspace/temp'
TOMCAT_HOME='/data/tomcat/apache-tomcat-8.5.50-test'


#停止tomcat服务
#echo '停止test-tomcat-01'
echo ${PWD}|sudo -S sh ${TOMCAT_HOME}/bin/shutdown.sh
echo ${PWD}|sudo -S  ps -ef | grep ${TOMCAT_HOME}/ | grep -v grep| awk '{print $2}' | xargs sudo  kill -9

#备份
cp ${TOMCAT_HOME}/webapps/${PROJECT_ADMIN}.war  /data/tomcat/jenkins_workspace/bak/${PROJECT_ADMIN}_${DATE}.war


#删除旧项目
echo ${PWD}|sudo -S rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_ADMIN}*
#rm -rf ${TOMCAT_HOME}/webapps/${PROJECT_ADMIN}.war


#将新的war包放入tomcat中
echo ${PWD}|sudo -S mv ${ROOTDIR}/${PROJECT_ADMIN}.war ${TOMCAT_HOME}/webapps/${PROJECT_ADMIN}.war

#移除文件
#rm -rf ${ROOTDIR}/*.war

#启动tomcat服务
#echo '启动test-tomcat-01'
echo ${PWD}|sudo -S sh ${TOMCAT_HOME}/bin/startup.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值