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

一、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在首页上可以查看到你自己的任务名称,查看上次成功的名称和状态。如果是绿颜色的就证明成功,如果是红颜色的就证明失败。

相关推荐
the局外人1 天前
FastAPI中jwt的基本使用与实践
后端·python·fastapi
Java后端的Ai之路1 天前
07React_Props验证器
人工智能·python·react.js·架构·fastapi
云和数据.ChenGuang2 天前
Codex 下载与本地部署实战:从零搭建你的 AI 编程助手
人工智能·深度学习·机器学习·语言模型·fastapi
Guarding and trust2 天前
项目拆解(二):模型输出是‘野‘的——三层兜底+重分析,把AI变成可靠零件
java·人工智能·python·大模型·fastapi·ollama·错误兜底
Sand(ContextGate)2 天前
从零搭建电商智能导购 Agent:LangGraph 编排 + 三层记忆 + 熔断降级 + 生产部署全链路实战
redis·agent·fastapi·电商·chromadb·langgraph·智能导购
余槐i3 天前
无慢查询 RT 却飙升:cProfile 定位 FastAPI 事件循环阻塞
后端·python·性能优化·fastapi·asyncio
溪语流沙5 天前
【Web全栈进阶】FastAPI工程化:APIRouter拆分 + 配置 + 依赖注入
java·前端·fastapi
小园子的小菜5 天前
FastAPI 全方位入门实战:高性能 Python Web 框架开发指南
python·pycharm·fastapi
云和数据.ChenGuang5 天前
langchain4j InMemoryEmbeddingStore常用的方法
java·人工智能·windows·java-ee·fastapi·springai
爱写代码的倒霉蛋7 天前
FastAPI的接口实现流程讲解
fastapi