持续集成-交付-发布-项目
一:Jenkins部署
1.安装插件
• Maven插件 Maven Integration plugin• 发布插件 Deploy to container Plugin需要安装插件如下:安装插件Deploy to container ---支持自动化代码部署到tomcat容器Git 插件 可能已经安装Maven Integration :jenkins利用Maven编译,打包所需插件Publish Over SSH :通过ssh连接
2.安装过程
系统管理—->插件管理——>可选插件—->过滤Deploy to container——>勾选—->直接安装


3.配置SSH



注意:
key:指的是jenkins服务器用哪个用户去远程连接程序服务器就是那个用户的私钥。(记得做免密 jenkins---> web-server)

4.配置jdk,maven,git




二:构建发布任务
1.创建maven项目


2.配置项目


https://github.com/bingyue/easy-springmvc-maven

注意:
新版本需要将默认分支改为main



调用mave命令

保存:

3.发布服务器部署
[root@java-server ~]# mkdir -p /data/application上传jdk[root@java-server ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/[root@java-server ~]# cd /usr/local/[root@java-server local]# mv jdk1.8.0_191/ java下载tomcat[root@java-server ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.42/bin/apache-tomcat-8.5.42.tar.gz[root@java-server ~]# tar xzf apache-tomcat-8.5.42.tar.gz -C /data/application/[root@java-server ~]# cd /data/application/[root@java-server application]# mv apache-tomcat-8.5.42/ tomcat设置环境变量[root@java-server ~]# vim /etc/profileexport JAVA_HOME=/usr/local/javaexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jarexport TOMCAT_HOME=/data/application/tomcat[root@java-server ~]# source /etc/profile测试:[root@java-server ~]# java -versionjava version "1.8.0_191"Java(TM) SE Runtime Environment (build 1.8.0_191-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)删除tomcat默认发布目录下面的内容:[root@java-server ~]# rm -rf /data/application/tomcat/webapps/*[root@java-server ~]# cd /data/application/tomcat/webapps/[root@java-server webapps]# ls创建目录和脚本:[root@java-server ~]# mkdir /opt/script #创建脚本目录[root@java-server ~]# vim app-jenkins.sh #创建脚本#!/usr/bin/bash#本脚本适用于jenkins持续集成,实现备份war包到代码更新上线!使用时请注意全局变量。#================#Defining variablesexport JAVA_HOME=/usr/local/javawebapp_path="/data/application/tomcat/webapps"tomcat_run="/data/application/tomcat/bin"updata_path="/data/update/`date +%F-%T`"backup_path="/data/backup/`date +%F-%T`"tomcat_pid=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`files_dir="easy-springmvc-maven"files="easy-springmvc-maven.war"job_path="/root/upload"#Preparation environmentecho "Creating related directory"mkdir -p $updata_pathmkdir -p $backup_pathecho "Move the uploaded war package to the update 2directory"mv $job_path/$files $updata_pathecho "========================================================="cd /optecho "Backing up java project"if [ -f $webapp_path/$files ];thentar czf $backup_path/`date +%F-%H`.tar.gz $webapp_pathif [ $? -ne 0 ];thenecho "打包失败,自动退出"exit 1elseecho "Checking if tomcat is started"if [ -n "$tomcat_pid" ];thenkill -9 $tomcat_pidif [ $? -ne 0 ];thenecho "tomcat关闭失败,将会自动退出"exit 2fificd $webapp_pathrm -rf $files && rm -rf $files_dircp $updata_path/$files $webapp_pathcd /opt$tomcat_run/startup.shsleep 5echo "显示tomcat的pid"echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"echo "tomcat startup"echo "请手动查看tomcat日志。脚本将会自动退出"fielseecho "Checking if tomcat is started"if [ -n "$tomcat_pid" ];thenkill -9 $tomcat_pidif [ $? -ne 0 ];thenecho "tomcat关闭失败,将会自动退出"exit 2fificp $updata_path/$files $webapp_path$tomcat_run/startup.shsleep 5echo "显示tomcat的pid"echo "`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`"echo "tomcat startup"echo "请手动查看tomcat日志。脚本将会自动退出"fi[root@java-server ~]# vim app-jenkins.sh脚本内容在后面[root@java-server ~]# chmod +x app-jenkins.sh #添加执行权限[root@java-server ~]# mv app-jenkins.sh /opt/script/
4.开始构建任务




