当前位置: 首页 > news >正文

Gitlab17.7+Jenkins2.4.91实现Fastapi/Django项目持续发布版本详细操作(亲测可用)

一、gitlab设置:
1、进入gitlab选择主页在左侧菜单的下面点击管理员按钮。

2、选择左侧菜单的设置,选择网络,在右侧选择出站请求后选择允许来自webhooks和集成对本地网络的请求

3、webhook设置
进入你自己的项目选择左侧菜单的设置,点击Webhooks在右侧点击添加新的webhook
 


点击后添加你的在Jenkins里生成的地址(注:当你把jenkins里的地址复制到URL里后,必须在后面加 /build)、Secret令牌。出发来源这里了只选择推送事件和合并请求事件,然后把请求SSL的验证取消,最后点击添加Webhooks按钮。

(这里的操作关联jenkins创建流水线里的第3条在jenkins里创建流水线任务)
下面是创建成功后的显示状态

4、创建令牌:
点击你的头像选择偏好设置,选择访问令牌,点击添加新令牌

这里添加令牌名称、token descripton是从linux服务器上通过git生成的公钥,直接把里的key复制到里面。然后选择到期时间和选择范围。最后点击创建个人访问令牌。


创建成功后点击复制令牌key按钮

这步操作非常重要是为了jenkeins链接gitlab申请的令牌key。
是关联jenkins设置的第二条在系统配置里配置gitlab的步骤。

二、jenkins基本设置:

1、jenkins里添加gitlab插件:
进入jenkins选择系统管理,选择插件管理选择左侧菜案的Available plugins在右边输入gitlab选择安装。

2、在系统配置里配置gitlab
点击jenkins首页,点击系统管理,点击系统配置,找到gitlab后,从上至下填写名称、gitlab地址和凭据,这里的凭据点击添加,选择jenkins后,在类型里选择GitLab API token。这里添加的信息是在gitlab里添加令牌(是关联gitlab设置里的第4条创建令牌)。添加成功之后选择GitLab API token

点击 Test Connection进行检测是否能链接上gitlab。如果错误将提示:Client error: HTTP 401 Unauthorized。
如果正确则显示Success。


3、设置git环境

点击Jenkins首页,点击系统管理,点击全局工具配置,在里面找到Git installations,输入名称和你的git安装的目录地址。


最后在最下面选择应用和保存,此时Jenkins基本配置已完成。

三、jenkins创建流水线
1、在项目中生成requirement.txt文件方法

在你的IDE里输入:pip freeze > requirements.txt
2、提交代码到gitlab仓库
3、在jenkins里创建流水线任务,输入任务名称
在构建出发器里选择Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.80.132:1058/project/Test。这里的http地址就是你gitlab里Webhooks的地址,切记在粘贴到webhook里后在地址的后面加“”。默认勾选的所有信息都不要动。

选择高级,选择Generate按钮会出现Secret token内容。Secret token里的值需要添加到gitlab里Webhooks的Secret 令牌里。


(这里的操作关联gitlab里的第3条webhook设置)
 

四、测试流水线是否自动构建

在你的IDE下提交代码成功后,到gitlab仓库里查看是否有变化,如果在增加文件的后面有刚刚字样则证明文件成功提交到gitlab。此时打开Jenkins在首页上可以查看到你自己的任务名称,查看上次成功的名称和状态。如果是绿颜色的就证明成功,如果是红颜色的就证明失败。


http://www.mrgr.cn/news/81748.html

相关文章:

  • Midjourney技术浅析(二):文本预处理过程
  • 大模型-ChatGLM2-6B模型部署与微调记录
  • QT 控件定义为智能指针引发的bug
  • 数位dp-acwing
  • 分布式版本管理工具——git 中忽略文件的版本跟踪(初级方法及高级方法)
  • springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置
  • 《第十四部分》WDG看门狗
  • List详解
  • 【Linux命令】`ps -a` , `ps -ef` 和 `ps aux` 的区别
  • 【虚拟机网络拓扑记录】
  • 快速掌握Elasticsearch检索之二:滚动查询(scrool)获取全量数据(golang)
  • 代码随想录算法训练营第十六天-二叉树-513.找树左下角的值
  • 《机器学习》——利用OpenCV库中的KNN算法进行图像识别
  • IPD管理体系框架架应用实践
  • GFPS扩展技术原理(十)-FMDN Notification
  • 【测试】接口测试
  • 使用 Spring Boot 实现文件上传:从配置文件中动态读取上传路径
  • 计算机体系结构期末复习1:分支预测
  • 本地部署 LLaMA-Factory
  • Rectified Flow 原理简介与示例代码解读
  • provider-10000模块、consumer-80[RestTemplate远程调用]
  • Java编程规约:命名风格
  • C++第五六单元测试
  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库
  • sqlserver 数据库误删-用mdf和ldf文件恢复
  • C# 窗体应用程序嵌套web网页(基于谷歌浏览器内核)