(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)

前提:jenkins安装

参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装)

1插件下载

主要是检查如下插件是否已安装
插件1:Publish over SSH
插件2:Deploy to container
插件3 Maven Integration
插件4 Git (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第1张图片

2基本配置 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第2张图片

2.1.Configure System (系统设置)
在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址, 即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样, 当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备,配置如下图 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第3张图片
2.2.Configure Global Security (全局安全配置)
a.配置用户相关的权限 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第4张图片
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(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第5张图片
配置(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第6张图片
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第7张图片点击系统管理–管理插件–可选插件,搜索如下两个插件安装:
Deploy to container Plugin
Maven Integration plugin
插件安装完成后,点击新建,会出现包含maven的界面,如下图所示:(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第8张图片
maven项目配置:
全局MAVEN_OPTS设置成如下:
进入系统管理–系统设置,找到Maven项目配置,把全局MAVEN_OPTS改为如下:
-Xms256m -Xmx512m -Dfile.encoding=UTF-8(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第9张图片
b.配置jdk (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第10张图片
c.配置git (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第11张图片
d.配置maven的安装路径

到这里,我们配置一个自动化部署的的java程序,基本必要配置就差不多了,后面配置过程中如果需要在配置。

3.Jenkins自动化部署(springBoot+maven+git)项目

3.1.Jenkins服务器上创建项目和配置
大体步骤:General(基础配置)–》源码管理–》构建触发器–》构建环境–》构建–》构建后操作
1.创建一个工程
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第12张图片
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第13张图片2、仅需填写标准部分,其他可不填写
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第14张图片
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第15张图片 3、点击“添加”按钮添加一组账号和密码 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第16张图片 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第17张图片 4.构建触发器 (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第18张图片如上图:当前项目的回调地址为:
http://localhost:8081/job/test/build?token=token_test
只要执行这个地址(在浏览器上访问改地址),该项目就会发起一次构建项目,即拉取代码打包部署操作,
在实际中,是由git服务器回调改地址,在后面讲git服务器配置时详细讲解

5 构建环境
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第19张图片
clean install package -Dmaven.test.skip=true
6.构建
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第20张图片

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
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第21张图片 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分支进行测试
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第22张图片可以看到已成功触发了自动化构建
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第23张图片 此处标识已成功执行,可以点进去看一下执行log
(二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)_第24张图片

你可能感兴趣的:(jenkins,git,windows)