软件安装没啥可说的,不会可百度
主要配置:
1.首先看运用那种方式,不同方式需要不同的插件,如果没有出现对应的选项或有红色标记,可能缺插件,可能系统配置没指定环境
2.最简单方便便是运用shell脚本来打包,复制,转移文件到tomcat-webapps下面
以windows系统为例
系统环境工具:
maven插件:maven integration plugin
svn插件:Subversion Plug-in
svn方式本地自动部署
maven打包命令:clean install -Dmaven.test.skip=true
shell脚本:
添加windos shell,根据自己情况修改
@echo off
rem 设置全局变量
set prj_name=crm-app
set package_path=C:\Users\Desktop\temp\crm-app\target
set config_path=C:\Users\Desktop\temp\crm-app\src\main\webapp\WEB-INF
set tomcat_home=D:\apache-tomcat-8.5.35
set startup_command=%tomcat_home%\bin\startup.bat
set shutdown_command=%tomcat_home%\bin\shutdown.bat
rem 关闭tomcat
call %shutdown_command%
rem 暂停10s
ping -n 10 127.0.0.1
rem 删除旧包目录
rd /s /q %tomcat_home%\webapps\%prj_name%
rem 切换到打包目录
c:
cd %package_path%
rem 拷贝新包到发布目录
copy %prj_name%.war %tomcat_home%\webapps
rem 启动tomcat
call %startup_command%
rem 暂停10s,解压war
ping -n 10 127.0.0.1
rem 关闭tomcat
call %shutdown_command%
rem 暂停10s
ping -n 10 127.0.0.1
rem 删除
rd /s /q %tomcat_home%\webapps\ROOT
rem 新包重命名
d:
cd %tomcat_home%\webapps
ren %prj_name% ROOT
rem 启动tomcat
call %startup_command%
rem 关闭窗口
exit
简版的命令
@echo off
d:
cd apache-tomcat-8.5.72\webapps\
if exist "d:\apache-tomcat-8.5.72\webapps\ROOT.war" del "d:\apache-tomcat-8.5.72\webapps\ROOT.war"
call d:\apache-tomcat-8.5.72\bin\shutdown.bat
rmdir /q /s "D:\apache-tomcat-8.5.72\webapps\ROOT"
xcopy /y /e /i "C:\ProgramData\Jenkins\.jenkins\workspace\drug\drug-rest\target\drug.war" "D:\apache-tomcat-8.5.72\webapps\drug.war"
ren D:\apache-tomcat-8.5.72\webapps\drug.war ROOT.war
d:
cd "d:\apache-tomcat-8.5.72\bin\"
call startup.bat
echo good bye
本地svn项目发布到远程服务器
svn配置同上,需更改
首选安装插件:publish over ssh
系统设置需配置对应的ssh连接
系统管理->系统设置->Publish over SSH配置里面配置ssh服务器信息
项目配置:构建后操作选项-send build artifacts over ssh
对应的restart.sh脚本,复制到对应的tomcat/bin下,目录自行修改
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export JRE_HOME=/usr/local/java/jdk1.8.0_201/jre
/usr/local/tomcat/bin/shutdown.sh
kill -9 $(ps -aef | grep tomcat/conf | grep -v grep | awk '{print $2}')
cd /usr/local/tomcat/webapps
mv ROOT.war ROOT_`date +%Y%m%d`.war
mv ROOT_`date +%Y%m%d`.war /usr/local/backup
rm -rf ROOT
mv /usr/local/tomcat/webapps/crm-app.war ROOT.war
sleep 5
/usr/local/tomcat/bin/startup.sh
通过先启动tomcat方式来部署
插件:deploy war to container
删除tomcat下源文件,再拷贝jenkins-workspace下面的文件到tomcat
del /F /S /Q D:\apache-tomcat-8.5.35\webapps\crm-app.war;
copy target\crm-app.war D:\apache-tomcat-8.5.35\webapps\crm-app.war;
点击增加构建后操作步骤
下拉选择:Deploy war/ear to a container
,多出一个发布选项
- 在tomcat中配置用户权限,即添加管理员帐号
- 在tomcat的安装目录中,修改
conf/tomcat-user.xml
配置文件,在<tomcat-users>
节点里添加下面的代码,用户名和密码可自定义 -
<role rolename="manager-gui" /> <role rolename="manager-script" /> <user username="admin" password="admin" roles="manager-gui, manager-script" />
邮件配置:
内容格式:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
offset="0">
<table width="95%" cellpadding="0" cellspacing="0"
style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B">构建信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称 : ${PROJECT_NAME}</li>
<li>构建编号 : 第${BUILD_NUMBER}次构建</li>
<li>SVN 版本: ${SVN_REVISION}</li>
<li>触发原因: ${CAUSE}</li>
<li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建 Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目 Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
<li>构建状态 : ${BUILD_STATUS}</li>
<li>最后50行 : ${BUILD_LOG, maxLines=50}</li>
</ul>
</td>
</tr>
<tr>
<td><b><font color="#0B610B">变更集</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>${JELLY_SCRIPT,template="html"}<br/>
<hr size="2" width="100%" align="center" /></td>
</tr>
</table>
</body>
</html>
项目中配置:
触发器:
部署前端项目,案例用pm2
1.先本地安装nodejs,pm2
2.jenkins安装插件NodeJS Plugin并全局配置nodejs
3.新建项目
配置nodejs
4.前端项目启动命令
@echo off
d:
rmdir /q /s "D:\web"
xcopy /y /e /i "C:\ProgramData\Jenkins\.jenkins\workspace\web" "D:\web"
cd "D:\web"
call pm2 stop app
call pm2 start app.js
echo good bye