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

相关推荐
Python私教4 小时前
浏览器不再拦请求:FastAPI 跨域(CORS)配置全解析
fastapi
带娃的IT创业者2 天前
第2集:技术选型的智慧:Flask vs FastAPI,GLM-4 vs GPT
python·gpt·flask·fastapi·glm·技术选型
万粉变现经纪人6 天前
如何解决 pip install 安装报错 ImportError: cannot import name ‘xxx’ from ‘yyy’ 问题
python·selenium·测试工具·flask·scikit-learn·fastapi·pip
闲人编程7 天前
2025年,如何选择Python Web框架:Django, Flask还是FastAPI?
前端·后端·python·django·flask·fastapi·web
chao_7897 天前
Union 和 Optional 区别
开发语言·数据结构·python·fastapi
BTU_YC8 天前
Django+FastAPI+Vue微服务架构指南
架构·django·fastapi
Gerlat小智8 天前
【Python精讲 16】实战项目演练(二):用Flask/FastAPI发布你的第一个Web API
python·flask·fastapi
onelafite9 天前
淘宝开放平台拍立淘接口返回参数及调用操作指南
api·fastapi
weixin_421133419 天前
使用 SQLAlchemy 和 Alembic 处理 FastAPI 中的模型变更
fastapi
老坛程序员11 天前
FastAPI WebSocket 由浅入深的开发范例
websocket·网络协议·fastapi