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.mzph.cn/bicheng/65397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pathlib:面向对象的文件系统路径

pathlib:面向对象的文件系统路径 pathlib官方介绍: Python3.4内置的标准库,Object-oriented filesystem paths(面向对象的文件系统路径) 文章目录 pathlib:面向对象的文件系统路径1. 使用示例1.1 最常用:获取项目目录1.2 遍历一…

Hive练习题16-20

题目16: 同时在线问题 如下为某直播平台主播开播及关播时间,根据该数据计算出平台最高峰同时在线的主播人数。 id stt edt 1001,2021-06-14 12:12:12,2021-06-14 18:12:12 1003,2021-06-14 13:12:12,2021-06-14 16:12:12 1004…

条款19 对共享资源使用std::shared_ptr

目录 一、std::shared_ptr 二、std::shared_ptr性能问题 三、control block的生成时机 四、std::shared_ptr可能存在的问题 五、使用this指针作为std::shared_ptr构造函数实参 六、std::shared_ptr不支持数组 一、std::shared_ptr<T> shared_ptr的内存模型如下图&…

巩义网站建设:如何打造一个成功的企业网站

巩义网站建设是企业发展中至关重要的一环。一个成功的企业网站不仅仅是一个展示产品和服务的平台&#xff0c;更是企业形象和品牌的代表。在建设企业网站时&#xff0c;首先要考虑用户体验。网站的设计应简洁明了&#xff0c;易于导航&#xff0c;让用户能够快速找到他们需要的…

【Maven】聚合与继承

目录 1. 聚合工程 2. 聚合工程开发 3. 继承关系 4. 继承关系开发 5. 聚合与继承的区别 1. 聚合工程 什么叫聚合&#xff1f; 聚合&#xff1a;将多个模块组织成一个整体&#xff0c;同时进行项目构建的过程称为聚合 聚合工程&#xff1a;通常是一个不具有业务功能的”空…

bash shell的条件语句

&#xff5e; script% touch if.sh &#xff5e; script% chmod 755 if.sh1.if-then-fi #!/usr/bin/env bashFOOD$1 if [ $FOOD"apple" ] thenecho The food is $FOOD fi exit 0~ script % ./if.sh apple The food is apple如果要将多条语句写在一行&#xff0c;可以…

猛将:如何在众多信仰中找到属于自己的力量?

Hi&#xff0c;我是蒙&#xff0c;欢迎来到猛将潜意识&#xff0c;带你运用潜意识快速成长&#xff0c;重塑人生&#xff01; 潜意识有猛将&#xff0c;人生再无阻挡&#xff01; 每日一省写作274/1000天 信仰是什么&#xff1f;我们生活在一个信仰流派繁多的时代&#xff0c;…

jwt在express中token的加密解密实现方法

在我们前面学习了 JWT认证机制在Node.js中的详细阐述 之后&#xff0c;今天来详细学习一下token是如何生成的&#xff0c;secret密钥的加密解密过程是怎么样的。 安装依赖 express&#xff1a;用于创建服务器jsonwebtoken&#xff1a;用于生成和验证JWTbody-parser&#xff1…

RDFS—RDF模型属性扩展解析

目录 前言1. 什么是RDFS&#xff1f;1.1 RDFS的核心概念1.2 RDFS与RDF的区别 2. RDFS的基础概念2.1 类&#xff08;Class&#xff09;2.2 属性&#xff08;Property&#xff09;2.3 关系&#xff08;Relation&#xff09;2.4 定义域&#xff08;Domain&#xff09;2.5 值域&…

光滑曲线弧长公式的推导

前言 本文将介绍如何用定积分计算空间中一段光滑曲线的弧长。首先我们会给出光滑曲线以及曲线弧长的定义&#xff0c;然后从定义出发&#xff0c;用求黎曼和的思想推导出弧长的计算公式。 光滑曲线的定义 设平面曲线的参数方程为 { x x ( t ) , y y ( t ) , t ∈ [ T 1 , …

设计一个基于Spring Boot开发的电商网站,部署在阿里云上

系统架构设计&#xff0c;包含网络、部署架构等关键信息&#xff0c;要保证系统的高可用。设计中请明确指出使用的产品名称。 为了设计一个基于Spring Boot开发的电商网站系统架构&#xff0c;并确保其高可用性&#xff0c;以下是一个详细的系统架构设计方案&#xff0c;包含网…

C语言技巧之有条件的累加

什么叫有条件的累加&#xff1f; 主要是依靠循环&#xff0c;一般形式是一个在循环里面遍历&#xff0c;另一个只有达到一定的条件才会累加&#xff08;移动到下一个变量&#xff09;&#xff0c;从言语也能看出来&#xff0c;主要是用在字符串和数组里面的&#xff0c;毕竟链表…

Python基于Django的web漏洞挖掘扫描技术的实现与研究(附源码,文档说明)

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

数据结构-c++

数据结构 链表设计链表1.进制转换2.顺序表逆置3.链表转置 栈栈的实现 队列队列实现1.逆置队列 二叉树遍历顺序1.树的深度2.左右子树交换3.输出并求出非叶子节点个数 图1.邻接矩阵转换成临界表2.深度优先搜索 查找折半查找算法 排序快速排序 链表 设计链表 #include <iostr…

简单发布一个npm包

将自己封装的组件上传到 npm&#xff0c;并在其他项目中下载并使用&#xff0c;是一个非常有用的技能。看完下面这些你就可以自己完成从封装组件到上传 npm 并使用的全过程。 1: 封装组件 首先&#xff0c;你需要创建一个符合标准的 npm 包。假设你已经写好了组件代码&#xf…

24.try块怎么用 C#例子

这是一个用英语写的try-catch例子 简单来说就是一个try&#xff0c;try里面的代码可能会出错&#xff0c;然后有两个catch&#xff0c;规定了具体的错误是什么 如果发生相应的错误&#xff0c;就会把错误信息存到err里&#xff0c;err.Message是一个字符串格式的提示信息&…

记录命令行操作树莓派Wifi的方式

打开WiFi rfkill unblock wlan 关闭WiFi rfkill block wlan 设置可连接的WiFi 方法一&#xff08;bullseye及以前版本才可用&#xff0c;bookworm版本&#xff09; sudo nano /etc/wpa_supplicant/wpa_supplicant.conf network{ssid"wifi_name"psk"wifi_pas…

【Axure高保真原型】计时秒表

今天和大家分享计时原型模板&#xff0c;效果包括&#xff1a; 点击计时按钮&#xff0c;可以开始或者停止计时&#xff1b; 秒针会自动运转&#xff0c;时长会自动记录&#xff1b; 右侧表格会记录每一次开始和结束时间&#xff0c;并计算该段时长&#xff1b; 点击重置按钮…

随机变量是一个函数-如何理解

文章目录 一. 随机变量二. 随机变量是一个函数-栗子(一对一)1. 掷骰子的随机变量2. 掷骰子的随机变量&#xff08;求点数平方&#xff09;3. 抛硬币的随机变量4. 学生考试得分的随机变量 三. 随机变量是一个函数-理解(多对一) 一. 随机变量 随机变量就是定义在样本空间上的函数…

FOC软件 STM32CubeMX 使用

1、安装-及相关软件版本 展示版本注意事项&#xff1a;keil MDK和STM32CubeMX版本至少要大于等于图中版本。 2、 Motor Profiler 5.2.0使用方法 主要测试&#xff0c;电感、电流、最大速度等。 获得参数以后再使用控制台准确的控制。 3、MotorControl Workbench 5.2.0使用方法…