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

相关推荐
cts6183 天前
全文检索官网示例
python·全文检索·fastapi
半新半旧5 天前
FastAPI中间件
中间件·fastapi
爱吃羊的老虎5 天前
【后端】FastAPI的Pydantic 模型
数据库·后端·python·fastapi
Elastic 中国社区官方博客6 天前
使用 FastAPI 构建 Elasticsearch API
大数据·数据库·python·elasticsearch·搜索引擎·全文检索·fastapi
陈小桔6 天前
SQLALchemy
python·fastapi
alpszero7 天前
使用UV管理FastAPI项目
fastapi·uv
**梯度已爆炸**7 天前
Python Web框架详解:Flask、Streamlit、FastAPI
python·flask·fastapi·streamlit
斟的是酒中桃8 天前
基于Transformer的智能对话系统:FastAPI后端与Streamlit前端实现
前端·transformer·fastapi
蓝倾9 天前
淘宝获取商品分类接口操作指南
前端·后端·fastapi
蓝倾9 天前
1688平台根据关键词获取商品API接口操作指南
前端·后端·fastapi