jenkins安装配置实现自动集成打包部署(Tomcat,jetty,maven,git)(二)

三、部署(从创建任务开始)

再进行该步骤之前,请务必保证之前的jenkins安装已经相关的公共配置操作已经完成。

具体参考博客:jenkins安装配置实现自动化部署(Tomcat,jetty,maven,git)(一)

新建任务

输入任务名称,选择构建一个maven项目

配置Git

下面是Add Git账户的界面

Maven打包的配置

通过SSH发布,构建后操作,选择之前系统设置里面配置好的SSH服务器

source files:jenkins workspace的相对路径

remove prefix:去掉之前的路径前缀

remote directory:默认不填

exec command:不建议使用这个,这个不能识别环境变量,我们后面通过其他插件来实现远程执行命令的功能(也就是即将要介绍的excute scripts插件)

我们继续增加构建后步骤,构建后步骤有多个的话,可以通过鼠标拖住插件窗口实现顺序的变换

add post build step-》add build step-》选shell框,然后再图片中的命令输入窗口填写要执行的shell命令。

图中的changeMyProjectPatch_jenkins.sh要确保再构建之前手动上传到workspace下面,这样才能正常执行。

changeMyProjectPatch_jenkin.sh主要的内容就是换包然后启动jetty

#!/bin/bash
function log_echo(){
    nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
    echo [$nowtime]  $1 >> /home/guahao/.jenkins/logs/jenkinsRedeploy.log
}
port=$1
if [ -z "$port" ];then
    log_echo "请输入端口"
    exit
fi
log_echo "now JAVA_HOME="$JAVA_HOME
currentPath=`pwd`
baseDeployProjectPath=/home/guahao/runtime
##获取当前路径下的war包名称
warName=`find ./ -maxdepth 1 -name "*.war"|awk -F"/" '{print $2}'`
folderName=`echo $warName|awk -F"." '{print $1}'`
folderName=$folderName-$port
cd $baseDeployProjectPath
if [ ! -d $folderName ]; then
##如果不存在jetty服务器,就创建一个服务器,并启动程序
        log_echo "当前文件夹"$folderName"不存在,将新建文件夹"
        jettypackageName=`find ./ -maxdepth 1 -name "jetty*.tar.gz"`
        log_echo "解压jetty安装包"
        tar -zxvf $jettypackageName >/dev/null 2>&1
        jettyFolderName=`find ./ -maxdepth 1 -name "jetty*"|grep -v tar.gz`
        mv $jettyFolderName $folderName
        sed -i "s/# jetty.http.port=8080/jetty.http.port=$port/g" $folderName/start.ini
        log_echo "端口参数修改成功,新工程"$warName"端口号为:"$port
else
##如果存在jetty服务器,则进行杀进程,备份原始包,换包,重启进程操作
        log_echo "当前文件夹"$folderName"已存在,将执行换包操作"
        cd $folderName/webapps/
        rm -fr *_backup
        mv ROOT.war ROOT.war_backup
		log_echo "原始包备份完成..."
        ps -ef|grep $folderName|grep -v grep|awk -F" " '{print $2}'|xargs kill -9
		log_echo “原始进程强制关闭...”
        sleep 5
        cd ../..
fi
mv $currentPath/$warName $folderName/webapps/ROOT.war
##启动程序
cd $folderName/bin
log_echo “重新启动程序...”
./jetty.sh start >> /home/guahao/.jenkins/logs/jenkinsRedeploy.log 2>&1 &

配置完了之后,我们点击立即构建,jenkins就会自动从git拉取代码并进行打包然后通过脚本部署啦!

注:上面最后的执行脚本,实在jenkins所部署的节点运行的,实际情况可能还会有jenkins和实际服务器分开的情况,构建后步骤参考以下配置:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值