论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
大数据
›
数据仓库与分析
›
Windows情况下,Jenkins+Gitee的CICD
Windows情况下,Jenkins+Gitee的CICD
石小疯
论坛元老
|
2025-4-17 23:35:13
|
显示全部楼层
|
阅读模式
楼主
主题
1865
|
帖子
1865
|
积分
5595
Jenkins+Gitee的CICD
版本需求:
JDK:8或以上
Jenkins:2.492
1.Jenkins下载安装
https://www.jenkins.io/download/下载LTS的war包:
把下载好后的war包放到指定目录,并利用下令启动:
java -jar jenkins.war
复制代码
利用欣赏器打开localhost:8080用上面的密码进行登录:
点击”安装保举的插件“,然后期待安装:
输入用户信息,创建管理员账号:
配置实例:
点击”开始利用jenkins“。
2.配置Gitee和Item
2.1.下载插件
1.点击“Manager Jenkins”,再点击“Plugins”:
2.选择"Available Plugins",搜索并勾选,gitee、Maven Integration ,点击安装
期待安装完成:
3.安装完成后,重启jenkins,利用管理员账号登录。
2.2.配置情况
1.点击“Manager Jenkins”,找到“Tools”,在JDK中输入当地JDK的路径:
2.配置Git路径:
3.配置Maven路径:
4.点击生存。
2.3.配置Gitee令牌(可选)
1.点击“Manager Jenkins”,找到“System”:
2.在gitee下面新增,将远程堆栈地址复制过来:
3.在jenkins中点击添加,选择“jenkins”,创建令牌。将范例设置为Gitee API令牌,将在Gitee中创建的令牌复制过来:
设置好后点击“添加”,再“save”生存。
2.4.配置Item
1.生存后回到首页,点击“新建item”,输入任务名crud_demo,选择free style project,“确定”。新建item输入任务名称”crud_demo“,一个自由风格的项目。
2.源码管理中,选择“git”,并输入远程堆栈地址:
3.点击下面的添加“jenkins”,输入gitee网址的登录邮箱,作为用户名,输入gitee的密码,点击“添加”:
4.在credential下拉框中选择刚才添加的账号,在Triggers中,勾选"
oll SCM",并输入日程表:
1、* * * * * # 每分钟自动实行
2、5个时间单位,分别代表分钟、小时、日期、月份、星期
4月2日15点半自动实行 ,例:30 15 2 4 *
3、6个特殊符号
表现所有可能的取值
空格 用于时间单位的分割,有且只能又4个空格
表现区间。周一到周五每天晚上6点实行:0 18 * * 1-5
, 表现罗列
/ 表现每隔多久实行一次。每隔10分钟实行一次:*/10 * * * *
H 用于分散服务器的负载
有时我们不需要一定在整点实行,如果我们希望在区间中恣意时间点实行都可以的话
H可以帮我我们找一个最佳的时间点,分散服务器的压力。
例
每天晚上6点实行
0 6 * * *
这样一定在6点整实行,这时可能会和另一个jenkins任务冲突
H 6 * * *
这样会自动选择在6点到7点之间的一个比较空闲的时间实行
可能在6:01,也可能在6:59
5.在“Build”中输入maven的构建下令:
clean package -Dmaven.test.skip=true
复制代码
6.在“Post Steps”中勾选“Run only if build succeeds”
7.在构建中,选择增长构建步调,选择”execute windows batch commands“
8.输入运行情况的下令:
set BUILD_ID=DONTKILLME
set port=8888
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /pid %%m -t -f
xcopy C:\Users\HP\.jenkins\workspace\test01\target\crud_demo-0.0.1-SNAPSHOT.jar D:\work_code\crud_demo\target\ /Y
echo 复制Jar包完成
start javaw -jar -Xms512m -Xmx1024m -Xmn512m D:\work_code\crud_demo\target\crud_demo-0.0.1-SNAPSHOT.jar
exit
复制代码
以上下令释义:
第1行
:set BUILD_ID=DONTKILLME
重新设置构建ID,防止Jenkins构建进程竣事后,杀掉关联进程,即防止构建进程竣事后,将构建的jar项目也同步停止
第3行
:set port=8888
指定端口。这里的端口,需要与 Spring Boot 项目中的 yaml 文件配置的端口一致,重要是用来关闭当前端口的进程,用来重新构建。
第4行
:for … do taskkill …
关闭8888端口的相关进程。
第6行
:xcopy X Y /Y
将X文件复制到Y目录下,/Y是禁止提示以确认改写一个现存目标文件,即覆盖文件的时间,不需要提示,直接覆盖。
这里有两个题目:
1、X 文件是怎么知道的呢?
对于每个构建任务,都有构建汗青,访问每个构建汗青记载(如果还没构建过可以在IDEA中构建,或者任意输入一个路径,在构建的控制台检察):
可以检察每个构建记载的控制台输出内容,其中就有构建完成的jar包的详细信息:
2、为什么要复制一份?
下次构建的时间,需要删除现有的jar,重新构建新的jar。
如果直接运行生成的jar,下次构建的时间,无法删除,构建失败。
第8行
:start javaw -jar XXX.jar
利用java下令启动jar项目。
中间的 -Xms512m -Xmx1024m -Xmn512m 参数是为jar项目分配内存,可以不写。
在第一次配置的时间,第8步暂时跳过,首先生成一个jar包后,确认了jar包的详细位置,再返来添加此配置。
9.点击生存后。
2.5.构建
1.点击"Build Now"开始构建,产生构建报告,如果是“√”则构建成功,如果是“×”则构建失败(失败原因可以检察控制台):
3.自动集成的提现
在上面的步调中,我们设置了一个触发器,即每间隔1分钟jenkins访问Gitee堆栈。此时如果Gitee堆栈更新,则会触发Jenkins自动拉去项目进行构建、摆设。
我们在项目根目录下创建了一个文本文件,并再次提交成功:
间隔一分钟后,Jenkins也完成了自动构建:
动集成的提现
在上面的步调中,我们设置了一个触发器,即每间隔1分钟jenkins访问Gitee堆栈。此时如果Gitee堆栈更新,则会触发Jenkins自动拉去项目进行构建、摆设。
我们在项目根目录下创建了一个文本文件,并再次提交成功:
[外链图片转存中…(img-wrayEukD-1744772988098)]
[外链图片转存中…(img-wgqKnorE-1744772988098)]
间隔一分钟后,Jenkins也完成了自动构建:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
石小疯
论坛元老
这个人很懒什么都没写!
楼主热帖
解决图片无法设置hover,以设置图片的 ...
SQL的多表查询
qrtz表初始化脚本_mysql
Hive安装与启动
解决OpenCV的imread/imwrite在Qt环境不 ...
C# GDI+ 画心形 跳动动画
几个函数的使用例子:更新VBRK-XBLNR, ...
MySQL基础(DDL、DML、DQL)
堆Pwn:House Of Storm利用手法
在 NGINX 中根据用户真实 IP 进行限制 ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表