参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装)
主要是检查如下插件是否已安装
插件1:Publish over SSH
插件2:Deploy to container
插件3 Maven Integration
插件4 Git
2.1.Configure System (系统设置)
在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址, 即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样, 当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图
2.2.Configure Global Security (全局安全配置)
a.配置用户相关的权限
b.配置钩子程序(当用代码更新时通知)访问权限,避免报403错误
默认是勾选上了的,这里去掉勾选
2.3.Global Tool Configuration (全局工具配置 )
JDK、Maven、Git、SVN配置
Jenkins中默认会重新安装JDK和maven,如果我们的电脑上已经安装了这两项,不需要重新安装,要对Jenkins进行配置。在JDK和maven中,去除掉自动安装的勾选框,并填写环境变量中对应的JAVA_HOME和MAVEN_HOME路径即可。
a.配置maven
下载maven:https://archive.apache.org/dist/maven/maven-3/
选好想要下载的版本
然后放到D:Maven目录下并解压
再设置环境变量,添加:MAVEN_HOME:D:\Maven\apache-maven-3.6.3
配置
点击系统管理–管理插件–可选插件,搜索如下两个插件安装:
Deploy to container Plugin
Maven Integration plugin
插件安装完成后,点击新建,会出现包含maven的界面,如下图所示:
maven项目配置:
全局MAVEN_OPTS设置成如下:
进入系统管理–系统设置,找到Maven项目配置,把全局MAVEN_OPTS改为如下:
-Xms256m -Xmx512m -Dfile.encoding=UTF-8
b.配置jdk
c.配置git
d.配置maven的安装路径
3.1.Jenkins服务器上创建项目和配置
大体步骤:General(基础配置)–》源码管理–》构建触发器–》构建环境–》构建–》构建后操作
1.创建一个工程
2、仅需填写标准部分,其他可不填写
3、点击“添加”按钮添加一组账号和密码 4.构建触发器 如上图:当前项目的回调地址为:
http://localhost:8081/job/test/build?token=token_test
只要执行这个地址(在浏览器上访问改地址),该项目就会发起一次构建项目,即拉取代码打包部署操作,
在实际中,是由git服务器回调改地址,在后面讲git服务器配置时详细讲解
5 构建环境
clean install package -Dmaven.test.skip=true
6.构建
d:
cd D:\test
start start.bat
start.bat:
@echo off
"set titlename=""自动化测试"""
set jarfile=landyframe
set port=9001
set copysource=C:\Users\TEMP\.jenkins\workspace\test\landyframe-web\target\
::根据端口号关闭指定进程
"for /f ""tokens=1-5"" %%i in ('netstat -ano^|findstr "":%port%""') do ("
echo kill the process %%m who use the port
taskkill /pid %%m -t -f
goto q
)
:q
::删除源文件
::del paperless2.jar
::修改文件名
"::set ""D=BY%date:~5,2%%date:~8,2%"""
"set ""D=-%date:~,4%%date:~5,2%%date:~8,2%"""
::这是-月日:-%date:~5,2%%date:~8,2%
::这是-年-月-日:-%date:~,4%-%date:~5,2%-%date:~8,2%
"::set ""T=%time:~,2%%time:~3,2%"""
"set ""T=%time:~,2%%time:~3,2%%time:~6,2%"""
::这是-时分:%time:~,2%%time:~3,2%
::这是-时分秒:%time:~,2%%time:~3,2%%time:~6,2%
ren %jarfile%.jar %jarfile%%D%%T%.jar
::拷贝jar包
copy /y %copysource%%jarfile%.jar D:\应用部署\test
::启动jar包
START %titlename% java -Dfile.encoding=UTF-8 -jar %jarfile%.jar --server.port=%port%
exit
7 编写钩子
在Bonobo Git Server 代码路径hook下:添加文件:post-receive
post-receive的内容
#!/bin/bash
echo post-update23
# exec git update-server-info
while read oldrev newrev refname
do
echo post-update4
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
" if [ ""master"" == ""$branch"" ]; then"
" echo ""正在触发远程编译..."""
"# exec ""xx-cmd"" http://{jenkins-user-name}:{jenkins-user-token}@jenkins.yourdomain.com/job/{jobName}/build?token={jobToken}"
curl http://localhost:8081/job/test/build?token=token_test
else
"echo ""非master提交,无需编译"""
fi
done
8、至此自动化部署配置完成,push代码到git的master分支进行测试
可以看到已成功触发了自动化构建
此处标识已成功执行,可以点进去看一下执行log