一、使用环境
Windows系统、Jenkins、Git、Maven、Tomcat7.0、SSH服务器freeSSHd(用于windows系统安装)
二、Jenkins安装
2.1 软件下载
2.1.1 去官网下载windows安装包,安装完成后,在jenkins.exe文件目录下通过net start jenkins启动Jenkins,可在jenkins.xml配置文件下修改启动端口号
2.1.2 在官网下载war包,通过tomcat启动
2.2 使用当前IP+设置的端口号(默认:8080)进行启动
第一次进入界面会推荐安装插件,如果可以的话,下载推荐插件就可以不需要另外再去下载其他的插件了,但是可能会连接超时,下载插件失败,这时候只能离线下载插件了
2.3 目前我们需要下载的插件有
Git plugin、Git client plugin、Maven plugin 、Publish Over SSH
在安装这些依赖的过程中,如果安装失败会出现提示,错误一般都是需要先安装其他插件,只能一个一个去先把前置条件安装好
2.4 系统配置
2.4.1 语言
官网下载的jenkins是英文版,需要下载一个Locale plugin,然后可以在系统管理里面设置Locale,Default Language修改为zh_CN,网上说的是可以将字体改为中文,但是亲测没有什么效果
2.4.2 配置SSH服务
安装好publish over SSH插件之后可以在系统配置里面看到publish over SSH选项的内容
这里配置SSH服务器的ip和账号密码,当然在设置之前需要搭建好SSH服务器
2.5 构建工具配置
2.5.1 JDK配置
2.5.2 Git配置
2.5.3 Maven配置
2.6 构建一个项目
这2个选项都可以,第一个是构建一个自由风格的项目
我这里选择的是第一个,构建自由风格的项目,配置如下
2.6.1 源代码路径,这里选择通过Git获取源码
2.6.2 定时任务,自动构建项目,这里没有设置
2.6.3 项目自动部署配置
2.6.4 项目构建方式,选择使用maven
配置完成之后进行保存
2.6.5 Jenkins自动打包及部署
下面显示正在对项目进行创建
项目构建完成之后,可以进行查看控制台的输出内容
下面的控制台输出中表示代码编译、打包成功,且war包传输到SSH服务器并成功启动自动部署项目的脚本
下列的输出表示自动部署的脚本执行成功且项目运行成功
三、Maven项目改造
3.1 在IDEA集成环境下,给项目添加maven格式
3.2 文件移动
在src/main/目录下创建一个webapp文件夹,并将web文件夹下的文件移动到webapp目录下
并删除WEB-INF目录下的lib文件夹,将jar包删除,通过maven依赖引入jar包
3.3 最终目录风格如下
3.4 在IDEA中配置Maven环境
3.5 配置Maven(maven安装路径下的setting.xml文件)
3.5.1 设置本地maven仓库
3.5.2 设置maven私服仓库
3.6 项目中引入maven依赖
给缺少jar包的提示一一添加maven依赖,直至没有错误提示
3.7 启动改造后的Maven项目,使用pom文件中设置的tomcat启动
四、SSH服务安装
4.1 软件下载
在官网下载freeSSHd安装包,安装程序直接默认下一步即可
4.2 配置freeSSHd
4.2.1 添加用户,这里的用户和密码配置的是客户端连接该SSH服务器时需要输入的用户名和密码。
4.2.2 SSH服务配置
4.2.3 连接服务器方式,默认都允许
4.2.4 配置文件保存的根路径,这里配置之后,war包将传输到这个目录下
4.2.5 服务器日志打印配置
4.3 编写项目自动部署的脚本
由于目前使用的是windows系统作为SSH服务器,所以下列脚本为bat语法
@echo off
set JAVA_HOME=F:\jdk\jdk1.7\jdk1.7.0_80
set CATALINA_HOME=C:\Users\Administrator.USER-20190728FL\Desktop\apache-tomcat-7.0.94
set PROJECT_NAME=4GDataExchange_4601
set WAR_PATH=C:\Users\Administrator.USER-20190728FL\Desktop\warpackage
echo "关闭tomcat"
call "%CATALINA_HOME%\bin\shutdown.bat"
echo "等待将近10秒"
@ping -n 10 127.0.0.1 >nul
if exist "%CATALINA_HOME%\webapps\%PROJECT_NAME%" (
echo "删除tomcat中的文件夹"
rd /S /Q "%CATALINA_HOME%\webapps\%PROJECT_NAME%"
)
if exist "%CATALINA_HOME%\webapps\%PROJECT_NAME%.war" (
echo "删除tomcat中的war包"
del /F /Q "%CATALINA_HOME%\webapps\%PROJECT_NAME%.war"
)
for /r "%WAR_PATH%" %%i in (*.war) do (
copy "%%i" "%CATALINA_HOME%\webapps\%PROJECT_NAME%.war"
echo "复制war包到tomcat里"
rem del "%%i"
)
echo "等待10s后启动tomcat"
@ping -n 10 127.0.0.1 >nul
call "%CATALINA_HOME%\bin\startup.bat"
使用什么脚本取决于我们项目启动时使用的是什么系统,如果是windows系统,则编写bat脚本来实现项目的自动启动,如果是Linux系统,则编写Shell脚本实现