Jenkins自动化部署:
几条具体的思路:1、开发人员将产品开发完后提交到集成代码库(git/svn)托管
2、通过Jenkins创建服务项目
3、从git/svn上拉取最新的master代码分支
4、编译代码并打包成war包
5、通过脚本发布到对应的容器中(tomcat/weblogic),并启动项目
这里主要就是这几项。集成maven、git,经过一些github、tomcat的配置,一键操作一键完成项目从github发布到阿里云服务器。Jenkins调用git的命令,拉github的项目,项目经过maven打包war文件,copy到容器中并启动服务
---------------------------------------------------------------------------安装jenkins------------------------------------------------------------------------------------------------
1.进入jenkins官网 https://www.jenkins.io/ ,下载windows版(一般下载官网最新的稳定版本---LTS版本)
![]()
![]()
下载后进行安装,设置好端口(例如: 8001),选择官方默认配置的插件安装后即可(详细的安装教程网上一大堆就不写了)
---------------------------------------------------------------------------配置jenkins------------------------------------------------------------------------------------------------
1.打开 Manage Jenkins---->Manage plugins 插件管理
![]()
2.在可选插件中查找官网maven插件,下载 Maven Integration plugin
![]()
![]()
3.下载完毕后重启jenkins,
![]()
4.全局配置
![]()
![]()
![]()
5. 新建一个任务
![]()
![]()
![]()
![]()
![]()
![]()
windows批处理脚本如下:
![]()
@echo off
E:
cd apache-tomcat-8.5.33\webapps
if exist "E:\apache-tomcat-8.5.33\webapps\clearBadDataDemo.war" del "E:\tomcat\apache-tomcat-8.0.47\webapps\clearBadDataDemo.war"
copy "C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\clearData\target\clearBadDataDemo.war" "E:\apache-tomcat-8.5.33\webapps\clearBadDataDemo.war"
if exist "E:\apache-tomcat-8.5.33\webapps\clearBadDataDemo\" rd /s /q "E:\apache-tomcat-8.5.33\webapps\clearBadDataDemo\"
cd /
cd apache-tomcat-8.5.33\bin
set BUILD_ID=dontKillMe
call startup.bat
echo good bye
jenkins在任务执行完毕后会自动杀死主进程导致项目跟着一起关闭,控制台会报错
Process leaked file descriptors. See https://jenkins.io/redirect/troubleshooting/process-leaked-file-descriptors for more information
两种解决方案:
1:在脚本启动tomcat前加上 set BUILD_ID=dontKillMe
2:在全局变量中设置
![]()
![]()
然后启动任务
![]()
![]()
![]()
![]()
虽然现在依旧会有警告会杀死tomcat进程,但是已经启动完毕
![]()
现在虽然可以访问了,但是tomcat是在后台运行的 ,我们需要配置一下将tomcat已控制台的形式输出,方便管理
![]()
![]()
![]()
![]()
![]()
配置一下任务节点
![]()
![]()
然后启动build 即可弹出tomcat执行窗口了