首页 > 系统相关 >8-jenkins windows环境下配置自动构建启动项目(springboot,gitlab,maven)

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

时间:2022-10-20 19:00:09浏览次数:45  
标签:插件 配置 springboot windows gitlab 地址 token 构建 jenkins

由于远程办公原因,所以我们的服务必须在一个内网,所以就想到使用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,大家可以根据自己情况搞。就这样没什么了。

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

分享使我快乐。

标签:插件,配置,springboot,windows,gitlab,地址,token,构建,jenkins
From: https://blog.51cto.com/u_15522232/5780465

相关文章

  • Windows活动目录_票据——敬请期待!
    票据:域控&域机子之间的信任密钥【缺省40天更换一次】域用户登录过程域用户的账户密码(用信任密钥加密的)传递至域控;域控验证账户密码成功后,构造域用户SID和组SID(用信任......
  • Navicat for MySQL 批量执行多个 SQL 文件---Windows-Type命令
    1.背景描述有个同事给发了一个数据库初始化sql文件夹,里面是有99个.sql文件,而我本地的数据库客户端是NavicatforMySQL,不论是在数据库上右键运行SQL文件还是在查询界面的......
  • Windows活动目录_初识
    计算机组织形式工作组(用户本地登录时构造SID进行权限分配);域(统一身份验证与管理)域注意事项实体:域控、域用户、加入域的机子。  依赖的服务:netlogon服务强制刷新组策......
  • SpringBoot 过滤器、监听器、拦截器
    过滤器过滤器Filter,是Servlet的的一个实用技术了。可通过过滤器,对请求进行拦截,比如读取session判断用户是否登录、判断访问的请求URL是否有访问权限(黑白名单)等。主要还......
  • SpringBoot2 集成xJar插件 动态解密jar包,避免源码泄露或反编译
    一、集成1.官方介绍地址手动加密:https://github.com/core-lib/xjarmaven插件集成:https://github.com/core-lib/xjar-maven-plugin2.添加仓库和插件第一种(不推荐使用)......
  • React + Springboot + Quartz,从0实现Excel报表自动化
    一、项目背景企业日常工作中需要制作大量的报表,比如商品的销量、销售额、库存详情、员工打卡信息、保险报销、办公用品采购、差旅报销、项目进度等等,都需要制作统计图表以......
  • windows端ping 工具带时间戳保存ping记录到本地
    新建txt文件,复制代码保存到新建文件后,修改文件后缀为.bat文件后。双击运行后会在本地脚本相同路径生成日志记录文件@echooffset/phost=host:setlogfile=ping_%host......
  • UTM 4.0 发布:在 macOS 上优雅的使用 QEMU 虚拟化 Windows、Linux 和 macOS
    UTM4底层基于QEMU,在Mac上安全的运行Windows、Linux和macOS,同时支持Intel处理器和Apple芯片,并且是开源免费的。WindowsLinux来到Apple芯片上UTM采用Ap......
  • 病毒&windows,linux机制
    前言以病毒流氓软件为引,了解windows,linux机制流氓软件p2p软件园360全家桶等等彻底删除文件,程序程序不要用系统带的卸载找到他本身程序的卸载exe,推荐用geek会自......
  • windows常用命令
    进程相关查看进程netstat-anto有端口号,pid等tasklist:有进程名字终结进程taskkill/f/t/pid数字tskill进程名称查询进程netstat|findstr名称taklist|find......