系统版本ubuntu 20.4 LTS WSLtomcat版本Apache-Tomcat-8.5.30 Jenkins.war版本2.313Java1.8.0Maven3.6.3Java、maven 这里使用ubuntu maven
安装JDK tar-zxvf JDK-8u 221-Linux-x64.tar.gz-c/usr/local/#将JDK解压缩到/usr/local,然后在/etc/profile文件的底部
export Java _ home=/usr/local/JDK1.8.0_ 221 export JRE _ home=$ { Java _ home }/jreexportclasspath=.3360 } 清秀裙:${JRE_HOME}/清秀裙export path=$ path 3360 $ { JRE _ home } /清秀裙export path=$ path 3360 $ } mavensudoath 缺省安装路径为/usr/share/maven,在/etc/profile文件的底部添加,保存并退出,然后添加到source /etc/profile文件中
export m2 _ home=/usr/share/mavenexportmaven _ home=/usr/share/mavenexportpath=$ { m2 _ home } /清秀的裙子3360$
tar-zxvf Apache-Tomcat-8.5.30.tar.gz-c/usr/local/mv/usr/local/Apache-Tomcat-8.5.30/usr /
启动mv/soft/Jenkins.war/usr/local/Tomcat/web apps/Jenkins
进入bash /usr/local/tomcat/清秀裙/startup.sh http://172.25.1.7433608080/Jenkins,按照提示完成安装即可
选择创建project并生成新的test,然后生成自由形式的软件项目,然后单击“确定”
然后选择参数化构建过程,并分别添加可选参数、字符参数
然后选择源代码管理,填写自己的仓库
构建环境选择deleteworkspacebeforebuildstarts
然后在构建步骤中添加新的外壳。 我用红框围起来的地方有评论。 通常可以启动java程序,但如果在此处写入并发现部署成功,则没有java程序。 日志也是空的。 所以最后在主体上写了外壳代替了。
#! /清秀的裙子/bash CD $ { workspace }/mvn install CD $ { workspace }/group-modulemvncleanpackage-d maven.test.skip=true thenecho ' thefilesisalreadyexists ' else mkdir-p $ path fi # app _ name=group-module-1.0-snapshot.jar # PID=` PS CP-f $ { workspace }/group-module/target/group-module-1.0-snapshot.jar $ pathcp-f $ { workspace }/group ge 覆盖现有目标# nohup Java-jar/opt/group-module/group-module-1.0-snapshot.jar/opt;
Rollback) echo "Status:$Status" echo "Version:$Version" cd /opt/bak/$Version #进入备份目录 #APP_NAME=group-module-1.0-SNAPSHOT.jar #pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #if [ -n "${pid}" ]; then #kill -9 $pid #fi cp -f group-module-1.0-SNAPSHOT.jar /opt/group-module/ #将备份拷贝到程序打包目录中,并覆盖之前的jar包 #nohup java -jar /opt/group-module/group-module-1.0-SNAPSHOT.jar > /opt/group-module/group-module-1.0-SNAPSHOT.log 2>&1 & ;; *) exit ;;esac由于我们经常更新代码,提交构建,使得备份目录日益变大,所以需要写一个脚本来删除老旧的版本,将版本控制在5个,再构建的地方新增一个shell
最后把我上边说的部署服务的脚本写在服务器上
新增shell
服务器脚本内容
目前并没有进程
我们打开jenkins控制台,依次选择我们的部署方式,以及版本号,然后点击开始构建
查看控制台输出,这里已经部署成功,也可以看到状态时Deploy
到服务器上查看,进程已经起来了,日志显示启动成功
可以看下此次部署已备份至我们指定的目录,没有22的原因是,我当时构建22的时候回滚的是21
我们再来到控制台,依次选择之后点击构建
看控制台我们,可以看出部署的方式,及回滚的版本
再来到服务器查看,发现进程号已经变了,说明回滚成功
这里尽量使用源码来安装与你项目匹配的node版本,否则可能出现依赖问题,或者版本问题,这里我简化安装
apt updateapt install nodejs npm 新建前端项目这里我们直接copy之前后端的配置,然后再进行改动
源码管理改成自己前端的仓库地址
我绿色框住的内容需要按照你自己的路径来改动
文件数量控制脚本这里也需要改下路径
最后执行部署的脚本需要重新写,前端的比较简单,写个解压跟权限的就好了
jenkins控制台依次选择deploy,版本号23,然后点击构建
然后访问浏览器
jenkins控制台依次选择Rollback,版本号20,然后点击构建,成共之后访问浏览器