0
点赞
收藏
分享

微信扫一扫

8-jenkins windows环境下配置自动构建启动项目(springboot,gitlab,maven)

凌得涂 2022-10-20 阅读 172

由于远程办公原因,所以我们的服务必须在一个内网,所以就想到使用jenkins来实现提交后自动构建项目启动,不需要再登录到内网操作。

jenkins的安装很简单,网上一大片,然后gitlab我是自己搭建的,我也写了几篇帖子供参考,当然如果项目在github或码云上那就使用这两个的地址也是可以的。

下面我就讲下核心部分,jenkins自动构建项目的部分,也是我花时间最多,遇到坑最多的地方。

#1.相关插件

maven插件就不必说了,是这个东西:

还有这个插件,作用:我们提交代码到平台上(gitlab,github等),自动触发jenkins项目构建,使用这个插件就可以使用token的方式来访问jenkins而不会被拦截然后到登录界面。 所以如果你不需要提交代码自动触发构建重启,当然也可以不需要这个插件了。

#2.实操

下面就是我在项目中真实使用的过程和配置,当然首先创建个maven项目,下面的配置也是基于maven项目来讲的:

#####2.1 仓库信息 代码拉取地址url必须的,然后下面是认证,也就是账号密码,有的话就添加一个,没有就不需要,然后就是分支。

#####2.2 构建触发器

我们主要关注第一个勾选,就是我们之前提的可以在提交完代码之后触发到jenkins然后构建的东西,这里配置的是token,随便写什么都行。 然后复制一下,我们需要到代码仓库端配置一下,我这边使用的是gitlab:

发现这里需要填写一个地址,怎么填写呢?我们需要看下之前说的那个插件的要求

然后我们看下jenkins这个插件的用法(点击插件名字可以进入插件的说明): 可以看到地址填写的方式: buildByToken/build?job=NAME&token=SECRET

第一个参数跟的是项目名字,第二个就是之前填写的token,拼写好,然后跟着jenkins的ip访问地址,一起拼好,然后放在这里就好。如果想测试的话,把这个地址复制好,然后待会儿都弄好就可以测试下。

这个地址我再详细说下,我在jenkins创建的项目叫做aaa,token我配置的bbb,jenkins访问地址是ip:8080,那么地址: http://IP:8080/buildByToken/build?job=aaa&token=bbb。

#####2.3 构建前配置

我们如果需要重启的话也就是重新构建启动,当然得把之前的线程给杀掉把,不然端口号都占用了,肯定启动不了,所以这里是使用脚本的方式杀进程: 网上太多抄来抄去没法用的脚本了,我总算找到了一个能行的。

@echo off
set port=8082
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
	if [%%d] EQU [LISTENING] (
		set pid=%%e
	)
)

if defined pid (
   taskkill /f /pid %pid%
) 

#####2.4构建后的配置

由于没啥保密的,所以我代码就直接贴出来了:

@echo off
set BUILD_ID=dontKillMe
start javaw -jar C:\ProgramData\Jenkins\.jenkins\workspace\hip\target\hip-0.0.1-SNAPSHOT.jar --spring.profiles.active=test --server.port=8082 &
exit

set BUILD_ID=dontKillMe 这个东西必须要加,不然jenkins在构建完之后就会把java进程杀掉或者干脆不执行。(之前不知道,所以服务一直启动不起来,花了我很多时间去找问题。)

然后下面的执行java的命令就是正常的情况,后面跟了一些我个人因为把一些变量拿出来配置,所以配置的需要的springboot的参数--spring.profiles.active=test --server.port=8082,大家可以根据自己情况搞。就这样没什么了。

仅此记录,给自己温习,同时尽可能帮助大家节省时间,避免踩坑。

分享使我快乐。

举报

相关推荐

0 条评论