当前位置: 首页 > news >正文

Gitlab和Jenkins集成 实现CI (二)

Gitlab和Jenkins集成 实现CI (一)
Gitlab和Jenkins集成 实现CI (二)
Gitlab和Jenkins集成 实现CI (三)

配置Gitlab api token

配置 Gitlab

进入gitlab

用户头像
Edit profile
选择同级的Access Tokens
Add new token
Token name 填 jenkins
Expiration date 选择最长一年的有效期
Select scopes 选择API一项即可

点击保存,切记先将tokens复制出来,后续是无法查看的
Dashboard - Manage Jenkins - System - GitLab

jenkins配置全局凭据

Dashboard
Manage Jenkins
Credentials
System
Add credentials
New credentials
Kind 选择 Git API Token
Scope 选择Global Jenkins, nodes, items, all child items, etc
API token 填写上一步gitlab中复制出来的token
Description 填写 jenkins api
ID 不要填写 自动生成

jenkins添加GitLab connections

Dashboard
Manage Jenkins
System
GitLab
GitLab connections
Connection name 填写 jenkins
GitLab host URL 填写gitlab的裸url
Credentials 选择刚才添加的全局凭据

添加完成后,点击test connection,如果出现success,说明配置成功

jenkins项目中配置gitlab api token

进入项目

Configure
General
GitLab Connection
选择第3步添加的

配置jenkins免密拉取gitlab代码

生成公私钥对

#进入jenkins
docker container exec -it jenkins /bin/bash#生成密钥对,一路回车确认就行
ssh-keygen -t rsacd ~
#获取公钥
cat .ssh/id_rsa.pub#获取私钥
cat .ssh/id_rsa

配置Gitlab上的公钥

头像
Edit profile
选择同级的 SSH Keys
Add new key
Key 粘贴刚才的公钥

配置Jenkins上的私钥

注意:配置的是全局凭据

Dashboard
Manage Jenkins
Credentials
New credentials
Kind 选择SSH Username with private key
Scope 选择Global Jenkins, nodes, items, all child items, etc
Username 填写gitlab上配置公钥的用户名 如 root
Private Key 填写刚才生成的私钥
ID 不填, Description 填写描述

Jenkins上创建项目

Dashboard
New Item
输入项目名称
选择 Freestyle project

配置项目

进入项目

Configure
GitLab Connection
选择 jenkins
Source Code Management
git
Repositories 填写gitlab仓库的ssh地址
Credentials 选择刚才添加的密钥对凭据
Branches to build
Branch Specifier 根据真实情况填写 比如 main
Repository browser
选择gitlab
URL
填写gitlab仓库的http地址
Version
填写gitlab的版本

这里填写 Repositories 的时候容易出错: No ED25519 host key is known for
需要检查 【配置Jenkins上的私钥】一章中username,需要填写生成sshkey的用户,比如我这默认的是jenkins
然后进入jenkins容器,运行

docker container exec -it jenkins /bin/bash
git ls-remote ssh://git@ip:port/developer/codename.git
#询问是否保存指纹
填写yes保存

返回到项目配置这里,重新点击,发现问题已经解决

到这里,没有错误的情况下,jenkins已经可以正确拉到gitlab的代码。可以在项目中构建一次,构建完成应该是绿色标的

docker container exec -it jenkins /bin/bash
#查看代码已经正确拉取
ls -l /var/jenkins_home/workspace/项目名称/* 

配置触发器

进入jenkins容器

  1. 生成安全随机数备用openssl rand -hex 12
  2. 配置jenkins
Configure
Build Triggers
Authentication Token 填入上面的安全随机数
Build when a change...
注意这里勾选上,并且后面附的地址后续gitlab上要用到

在这里插入图片描述

  1. 配置gitlab
    取消Webhooks访问限制
    进入gitlab
Admin area
Settings
Network
Outbound requests
勾上两个Allow

进入项目

Settings
Webhooks
Add new webhook
Project Hooks
Webhooks
URL 填写上面 需要注意 的那个url
Secret token 填写和上面配置一样的安全随机数
Trigger 根据实际情况勾选
SSL verification
根据实际情况是否启用
Test 点击后面的Push events, 出现successfully就表示成功

1.这里如果test的时候报4xx错误,检查 gitlab中webhook限制访问是否已打开
2. 参考 Gitlab和Jenkins集成 实现CI (一) 中 基础配置 章节 gitlab哪里的勾选是否已去掉

都看到这里了,点个赞再走吧!^ _ ^

相关文章:

Gitlab和Jenkins集成 实现CI (二)

Gitlab和Jenkins集成 实现CI (一) Gitlab和Jenkins集成 实现CI (二) Gitlab和Jenkins集成 实现CI (三) 配置Gitlab api token 配置 Gitlab 进入gitlab #mermaid-svg-t84fR8wrT4sB4raQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:…...

Java:内部类、枚举、泛型以及常用API --黑马笔记

内部类 内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。 当一个类的内部,包含一个完整的事物,且这个事物没有必要单独设计时&a…...

【持续更新】2024牛客寒假算法基础集训营3 题解 | JorbanS

A - 智乃与瞩目狸猫、幸运水母、月宫龙虾 string solve() {string a, b; cin >> a >> b;if (isupper(a[0])) a[0] a - A;if (isupper(b[0])) b[0] a - A;return a[0] b[0] ? yes : no; }B - 智乃的数字手串 string solve() {cin >> n;int cnt 0;for (…...

Java基于微信小程序的驾校报名小程序,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

Android中AGP与Gradle、AS、JDK的版本关系

文章目录 AGP版本所要求的Gradle、JDK、SDK Build Tools最小版本Android Studio所要求的AGP最小版本 本文介绍了 在Android开发中由于AGP与gradle、JDK、AS等版本不匹配导致的编译失败问题屡见不鲜,尤其是对于新手而言更是叫苦不迭。新手经常遇到拿到别人的工程代码…...

web 前端实现一个根据域名的判断 来显示不同的logo 和不同的标题

1.需求 有可能我做一个后台 web端 我想实现一套代码的逻辑 显示不同的公司主题logo以及内容,但是实际上 业务逻辑一样 2.实现 建一个store oem.ts 这个名为是 oem系统 oem.ts import { defineStore } from pinia;import { store } from /store;const oemDataLis…...

复制和粘贴文本时剥离格式的5种方法(MacWindows)

您可能每天复制和粘贴多次。虽然它是一个非常方便的功能,但最大的烦恼之一就是带来了特殊的格式。从网络上获取一些文本,您经常会发现粘贴到文档中时,它保持原始样式。 我们将展示如何使用一些简单的技巧在不格式化的情况下复制和粘贴。 1.…...

SpringBoot实现即时通讯

SpringBoot实现即时通讯 功能简述 好友管理群组管理聊天模式:私聊、群聊消息类型:系统消息、文本、语音、图片、视频会话列表、发送消息、接收消息 核心代码 package com.qiangesoft.im.core;import com.alibaba.fastjson2.JSONObject; import com.q…...

【每日一题】LeetCode——反转链表

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有…...

精通Python爬虫:掌握日志配置

源码分享 https://docs.qq.com/sheet/DUHNQdlRUVUp5Vll2?tabBB08J2 在开发Python爬虫时,日志记录是一个不可或缺的特性,它帮助我们捕捉运行时信息、调试代码和监控爬虫的健康状况。合理地配置日志系统是提高爬虫可维护性的关键。本篇技术博客将详细介绍…...

Python_百度贴吧评论情感分析

一、评论爬取 以百度贴吧中“美团骑手吧”为例,对页面中的帖子评论进行爬取,并将结果以json的格式保存到本地中。 from lxml import etree import requests import json# 根据网页url获取评论 def GetComments(url):# 使用requests库发送GET请求&#…...

如何运行心理学知识(心流)来指导工作和生活

如何运用心流来指导工作和生活 如何联系我 作者:鲁伟林 邮箱:thinking_fioa163.com或vlinyes163.com GitHub:https://github.com/thinkingfioa/ReadingSummary 版权声明:文章和记录为个人所有,如果转载或个人学习…...

精简还是全能?如何在 Full 和 Lite 之间做出最佳选择!关于Configuration注解的Full模式与Lite模式(SpringBoot2)

🏃‍♂️ 微信公众号: 朕在debugger© 版权: 本文由【朕在debugger】原创、需要转载请联系博主📕 如果文章对您有所帮助,欢迎关注、点赞、转发和订阅专栏! 前言 关于 Configuration 注解,相信在座的各位 Javaer 都…...

springboot微信小程序uniapp学习计划与日程管理系统

基于springboot学习计划与日程管理系统,确定学习计划小程序的目标,明确用户需求,学习计划小程序的主要功能是帮助用户制定学习计划,并跟踪学习进度。页面设计主要包括主页、计划学习页、个人中心页等,然后用户可以利用…...

236.二叉树的最近公共祖先

​​题目来源: leetcode题目,网址:236. 二叉树的最近公共祖先 - 力扣(LeetCode) 解题思路: 分别获得从根节点到两个目标节点的链路,寻找到最后一个相同节点即可。 解题代码: /***…...

ETL是什么,有哪些ETL工具?就业前景如何?

ETL是什么 ETL(Extract-Transform-Load),用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目标端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。它可以自动化数据处理过程,减少…...

无人机系统组装与调试,多旋翼无人机组装与调试技术详解,无人机飞控系统原理

多旋翼无人机飞控系统的组装 在开始组装前,确保您已准备好所有必要的工具和材料。这包括螺丝刀、电烙铁、焊台、杜邦线、飞控板、GPS模块、电机、桨叶等。 飞控安装 安全开关安装,将安全开关固定在机架上。将安全开关的线插到飞控SWITCH插口上。 电调…...

Log360,引入全新安全与风险管理功能,助力企业积极抵御网络威胁

ManageEngine在其SIEM解决方案中推出了安全与风险管理新功能,企业现在能够更主动地减轻内部攻击和防范入侵。 SIEM 这项新功能为Log360引入了安全与风险管理仪表板,Log360是ManageEngine的统一安全信息与事件管理(SIEM)解决方案…...

【开源】JAVA+Vue.js实现高校实验室管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实验管理模块2.4 实验设备模块2.5 实验订单模块 三、系统设计3.1 用例设计3.2 数据库设计 四、系统展示五、样例代码5.1 查询实验室设备5.2 实验放号5.3 实验预定 六、免责说明 一、摘…...

Flink CDC 与 Kafka 集成:Snapshot 还是 Changelog?Upsert Kafka 还是 Kafka?

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维…...

闯入漳州粉色几何秘境,复刻西班牙红墙浪漫

在福建漳州市漳浦县的火山岛自然生态风景区内,有一座以粉红色为主色调、线条利落的几何形建筑群。因其层层叠叠的阶梯、错落的平台与迷宫般的路径结构,与西班牙卡尔佩的“红墙”(La Muralla Roja)景观高度相似,被游客称…...

MongoDB Atlas Vector Search与LangChain集成:构建企业级RAG系统实践

1. 项目概述:当MongoDB遇见生成式AI最近在开发者社区里,一个名为mongodb-developer/GenAI-Showcase的项目引起了我的注意。作为一名长期与数据打交道的开发者,我深知在生成式AI(GenAI)浪潮席卷而来的当下,如…...

Nix与Helm结合:实现声明式Kubernetes部署的确定性构建

1. 项目概述:当 Helm 遇见 Nix,一种声明式的新思路如果你和我一样,长期在 Kubernetes 生态里折腾,肯定对 Helm 又爱又恨。爱的是它用模板和 Values 文件,把一堆零散的 Kubernetes 资源打包成一个可配置、可版本化的“应…...

Apache Arrow图像数据处理终极指南:如何构建高性能计算机视觉应用

Apache Arrow图像数据处理终极指南:如何构建高性能计算机视觉应用 【免费下载链接】arrow Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing 项目地址: https://gitcode.com/gh_mirrors/arrow13/arrow …...

Rails AI上下文模块设计:领域驱动与AI服务集成实践

1. 项目概述:当植物病理学遇上AI代码助手最近在整理一个老项目时,我遇到了一个非常有意思的命名:“Peronosporaceaevenography165/rails-ai-context”。乍一看,这像是一个典型的GitHub仓库命名风格,前半部分是极其专业…...

Cortex-R52性能监控与调试架构深度解析

1. Cortex-R52性能监控单元架构解析在嵌入式实时系统中,性能监控单元(PMU)如同汽车的仪表盘,为开发者提供处理器内部运行状态的实时数据。Cortex-R52的PMU模块采用三级监控架构:1.1 事件采集层处理器内部部署了45个专用硬件计数器&#xff0c…...

AI提示工程与创意工作流:Claude+Cursor高效协作心法

1. 项目概述与核心价值 最近在GitHub上看到一个挺有意思的项目,叫 zupp6869/claude-cursor-tips-for-creatives 。光看名字,你可能觉得这又是一个关于AI代码助手Cursor的普通教程合集。但如果你点进去,特别是你本身从事创意、设计、内容创作…...

3秒定位Windows热键冲突:Hotkey Detective终极检测工具完整指南

3秒定位Windows热键冲突:Hotkey Detective终极检测工具完整指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

电商选品神器:Open Claw + 淘宝 API,一键实现商品监控与智能选品

在电商运营、跨境铺货、店铺竞品分析场景中,实时获取淘宝商品数据、自动监控价格 / 销量 / 库存变化是提升选品效率的核心环节。传统手动查品耗时费力,借助 Open Claw 搭配淘宝专业 API,无需爬虫、绕过风控,就能快速搭建稳定的商品…...

基于Javaweb的医院在线挂号系统(10007)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运行一键启动项目&…...