码云 Gitee + Jenkins 配置教程

news2024/12/29 9:19:48

安装jdk
安装maven

在这里插入图片描述

安装Jenkins

https://blog.csdn.net/minihuabei/article/details/132151292?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132151292%22%2C%22source%22%3A%22minihuabei%22%7D

插件安装

前往 Manage Jenkins -> Manage Plugins -> Available,在 Filter 中搜索 Gitee:
在这里插入图片描述

下方可选列表中勾选 Gitee(如列表中不存在 Gitee,则点击 Check now 更新插件列表),然后点击“Download now and install after restart”。
在这里插入图片描述

在安装页面勾选“Restart Jenkins when installation is complete and no jobs are running”
安装完之后,可以在 “installed” 页面看到 Gitee 插件
在这里插入图片描述

插件配置

添加 Gitee 链接配置

  1. 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee 配置 ->
    Gitee 链接
  2. 在 链接名 中输入 Gitee 或者你想要的名字
  3. Gitee 域名 URL 中输入码云完整 URL地址: https://gitee.com (码云私有化客户输入部署的域名)
  4. 证书令牌 中如还未配置码云 APIV5 私人令牌,点击 Add - > Jenkins

1 Domain 选择 全局凭据
2 Kind 选择 Gitee API 令牌
3 Scope 选择你需要的范围
4 Gitee API Token 输入你的码云私人令牌,获取地址: https://gitee.com/profile/personal_access_tokens
5 ID, Descripiton 中输入你想要的 ID 和描述即可。、
在这里插入图片描述

Credentials 选择配置好的 Gitee APIV5 Token
在这里插入图片描述

  1. 点击 Advanced ,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定)
  2. 点击 Test Connection 测试链接是否成功,如失败请检查以上 3,5,6 步骤。

在这里插入图片描述

新建构建任务

前往 Jenkins -> New Item , name 输入 ‘Gitee Test’,选择 Freestyle project , 再点击 OK 即可创建构建项目。
在这里插入图片描述

任务全局配置

任务全局配置中需要选择前一步中的Gitee 链接。如图:
在这里插入图片描述

源码管理配置

选择 Source Code Management 选项卡:

  1. 点击 Git

  2. 输入你的仓库地址,例如 https://gitee.com/AndyWannaSing/hello-casstime-demo.git

     1 点击 add-Jenkins,添加用户名和密码凭证(连接项目的时候需要用它做校验)
      2 点击 Advanced 按钮, Name 字段中输入 origin, Refspec 字段输入 +refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/pull/*/MERGE
    

在这里插入图片描述

  1. Branch Specifier 选项:

    对于单仓库工作流输入: origin/ g i t e e S o u r c e B r a n c h 对于 P R 工作流输入 : p u l l / {giteeSourceBranch} 对于 PR 工作流输入: pull/ giteeSourceBranch对于PR工作流输入:pull/{giteePullRequestIid}/MERGE

  2. Additional Behaviours 选项:

    对于单仓库工作流,如果你希望推送的分支构建前合并默认分支(发布的分支),可以做以下操作:
    点击 Add 下拉框
    选择 Merge before build
    设置 Name of repository 为 origin
    设置 Branch to merge to 为 ${ReleaseBranch} 即您要合并的默认分支(发布分支)
    对于 PR 工作流,码云服务端已经将 PR 的原分支和目标分支作了预合并,您可以直接构建,如果目标分支不是默认分支(发布分支),您也可以进行上诉构建前合并。

触发器配置

选择 Build Triggers 选项卡:

  1. Enabled Gitee triggers 勾选您所需要的构建触发规则,如 Push Event, Opened Merge
    Request Events,勾选的事件会接受WebHook,触发构建。目前支持触发事件有:

    	Push Events :推送代码事件
    	Opened Merge Request Events :提交 PR 事件
    	Updated Merge Request Events :更新 PR 事件
    	Accepted Merge Request Events :接受/合并 PR 事件
    	Closed Merge Request Events :关闭 PR 事件
    	Approved Pull Requests : 审查通过 PR 事件
    	Tested Pull Requests :测试通过 PR 事件
    
  2. Enable [ci-skip] 该选项可以开启支持 [ci-skip] 指令,只要commit message 中包含
    [ci-skip],当前commit 即可跳过构建触发。

  3. Ignore last commit has build 该选项可以跳过已经构建过的 Commit 版本。

  4. Allowed branches 可以配置允许构建的分支,目前支持分支名和正则表达式的方式进行过滤。

  5. Secret Token for Gitee WebHook 该选项可以配置 WebHook 的密码,该密码需要与码云
    WebHook配置的密码一致方可触发构建。

  6. 注意:若 PR 状态为不可自动合并,则不触发构建。

在这里插入图片描述

构建后步骤配置

选择 Post-build Actions 选项卡:

构建结果回评至码云

  1. 点击 Add post-build action 下拉框选择 “将构建状态评论到 Gitee pull request 中”

  2. Advanced 中可以配置:

    仅为构建失败回评到码云
    自定义各状态的回评内容(内容可以引用 Jenkins 的环境变量,或者自定义的环境变量)
    
  3. 若开启该功能,还可将不可自动合并的状态回评至码云
    在这里插入图片描述

构建成功自动合并PR
点击 Add post-build action 下拉框选择 “当构建成功自动合并 Gitee 的 Pull Request”
在这里插入图片描述

新建码云仓库WebHook

进入源码管理配置中设置的码云仓库中,进入 管理 -> WebHooks:

在这里插入图片描述

添加 WebHook, URL 填写 触发器配置的地址。
密码填写:触发器配置第 5 点中配置的 WebHook密码,不设密码可以不填
勾选 PUSH, Pull Request

在这里插入图片描述
在这里插入图片描述

其中:http://7e2be7e8.ngrok.io/project/Gitee Test 是外网的IP。(内网转外网域名的方法)
在这里插入图片描述

测试触发构建

通过测试按钮触发构建

在这里插入图片描述
在这里插入图片描述

测试推送触发构建

码云的 WebHook 管理中选择勾选了PUSH的 WebHook 点击测试,观察 Jenkins 任务的构建状态
码云仓库页面编辑一个文件提交,观察 Jenkins 任务的构建状态

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

测试PR触发构建

码云的 WebHook 管理中选择勾选了 Pull Request 的 WebHook 点击测试,观察 Jenkins 任务的构建状态
在码云仓库中新建一个Pull Request,观察 Jenkins 任务的构建状态

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/845612.html

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

相关文章

聊聊汽车电子的话题

当谈到汽车电子时,有许多有趣的话题可以探讨。以下是一些可能感兴趣的话题: 自动驾驶技术:自动驾驶技术正变得越来越先进,它们如何在汽车中实现?它们将如何改变我们的交通方式以及对道路安全的影响? 电动汽…

【LeetCode每日一题】——85.最大矩形

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 困难 三【题目编号】 85.最大矩形 四【题目描述】 给定一个仅包含 0 …

【Java split】split() 函数分割空字符串后数组长度为1的原因以及规避措施(105)

问题现象: import java.util.ArrayList; import java.util.Arrays; import java.util.List;public class test06 {public static void main(String[] args) {// Java split()函数 分割空字符串长度为1的解释;String s2 "";String[] arr2 s2.split(&quo…

[SWPUCTF 2022 新生赛]numgame

这道题有点东西网页一段计算框,只有加和减数字,但是永远到大不了20,页面也没啥特别的,准备看源码,但是打不开,我以为是环境坏掉了,看wp别人也这样,只不过大佬的开发者工具可以打开&a…

elementUi select下拉框触底加载异步分页数据

在Element UI中,可以通过监听select下拉框的visible-change事件来实现触底加载下一页的效果。 方式一:利用elementUi的事件 具体步骤如下: 首先,在select组件中设置:visible-change"handleVisibleChange"…

Unity之获取用户地理位置

1.直接利用三方API获取&#xff1a; 1.1 利用bilibili的api 【未知稳定性】 public void Awake() {StartCoroutine(GetLocationInfoNew());}/// <summary>/// 利用bilibili的接口通过ip直接获取城市信息/// </summary>IEnumerator GetLocationInfoNew() {//UnityW…

在 Linux 上以 All-in-One 模式安装 KubeSphere

官方文档&#xff1a;https://www.kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/ 操作系统 最低配置 Ubuntu&#xff1a; 16.04,18.04, 20.04, 22.04 2 核 CPU&#xff0c;4 GB 内存&#xff0c;40 GB 磁盘空间Debian Buste&#xff1a;Stretch 2 核 CPU&am…

Leetcode周赛 | 2023-8-5

2023-8-5 题1体会我的代码 题2体会我的代码 题1 体会 一开始是觉得这道题是贪心的&#xff0c;选出现次数最多的元素&#xff0c;但是发现&#xff0c;当有多个元素出现次数均为最多时&#xff0c;似乎很难处理&#xff0c;就放弃了。转而问ChatGPT &#xff0c;结果让自己走上…

可视化高级绘图技巧100篇-总论

前言 优秀的数据可视化作品可以用三个关键词概括&#xff1a;准确、清晰、优雅。 准确&#xff1a;精准地反馈数据的特征信息&#xff08;既不遗漏也不冗余&#xff0c;不造成读者疏漏&误读细节&#xff09; 清晰&#xff1a;获取图表特征信息的时间越短越好 优雅&…

吃瓜教程-Task05

目录 支持向量机 间隔与支持向量 SVM基本型 对偶问题 kkt条件 例子 对偶问题 例子 对偶问题原理解释 软间隔与正则化 替代损失函数 支持向量回归 例子 支持向量机 间隔与支持向量 在样本空间中&#xff0c;划分超平面可通过如下线性方程来描述: 样本空间中任意点x到…

Doris(四)-聚合模型的使用

pre 前言 这里使用聚合模型&#xff0c;可以在导入数据的时候&#xff0c;就将部分数据做预处理&#xff0c;提高查询效率。 同样&#xff0c;因为是预处理&#xff0c;因此&#xff0c;数据细节会丢失。 1, 建表语句 create table if not exists user_landing_record_new …

基于Java+SpringBoot+Vue的篮球竞赛预约平台设计与实现(源码+LW+部署文档等)

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

框框大学之——教育技术学

清一色劝退的教育技术学。。。。。。 https://www.kkdaxue.com/?current1&major%E6%95%99%E8%82%B2%E6%8A%80%E6%9C%AF%E5%AD%A6&pageSize10&sortFieldcreateTime&sortOrderdescend 总结&#xff1a; 1 杂而不经 2 摆烂劝退居多 3 适合躺平 4 考公不行 5 要多…

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具&#xff0c;它们蕴藏着各种隐藏的功能&#xff0c;其中之一就是让你拥有望远镜般的观察能力。是的&#xff0c;你没有听错&#xff01;今天我们将探秘手机中隐藏的望远镜功能&#xff0c;这项神奇的功能可以让你打开后&#xff0c;轻松观察任何…

L2CS-Net: 3D gaze estimation

L2CS-Net: Fine-Grained Gaze Estimation in Unconstrained Environments论文解析 摘要1. 简介2. Related Work3. METHOD3.1 Proposed loss function3.2 L2CS-Net 结构3.3 数据集3.4 评价指标 4. 实验4.1 实验结果 论文地址&#xff1a;L2CS-Net: Fine-Grained Gaze Estimation…

R语言安装包Seurat

环境Ubuntu22&#xff0c;R4.1 also installing the dependencies ‘curl’, ‘openssl’, ‘httr’, ‘plotly’ R包安装的时候报了这个错误ERROR: dependencies httr, plotly are not available for package Seurat 解决方法&#xff0c;退出R&#xff0c;在terminal中键入…

将整数,结构体,结构体数组,链表写到文件

在之前的学习中&#xff0c;忘文件中写的内容都是字符串或字符&#xff0c;本节学习如何写入其他各种类型的数据。 回看write和read函数的形式&#xff1a; ssize_t write(int fd, const void *buf, size_t count); ssize_t read(int fd, void *buf, size_t count); 其中&a…

(论文复现)DeepAnt模型复现及应用

DeepAnt论文如下&#xff0c;其主要是用于时间序列的无监督粗差探测。 其提出的模型架构如下&#xff1a; 该文提出了一个无监督的时间序列粗差探测模型&#xff0c;其主要有预测模块和探测模块组成&#xff0c;其中预测模块的网络结构如下。 预测结构是将时间序列数据组…

mfc100u.dll丢失的多种解决方法分享,最新的修复mfc100u.dll方案

mfc100u.dll丢失可以说是见怪不怪的了&#xff0c;只要经常使用电脑的人&#xff0c;一般都会碰到一两次这种dll文件缺失的情况&#xff0c;今天主要是来给大家讲解一下mfc100u.dll丢失的多种解决方法&#xff0c;让你以后遇到这情况再也不需要头大。 一.mfc100u.dll为啥会丢失…

【论文阅读】UNICORN:基于运行时来源的高级持续威胁检测器(NDSS-2020)

UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats NDSS-2020 哈佛大学 Han X, Pasquier T, Bates A, et al. Unicorn: Runtime provenance-based detector for advanced persistent threats[J]. arXiv preprint arXiv:2001.01525, 2020. 源码&…