从零开始配置Jenkins与GitLab集成:一步步实现持续集成
在软件开发中,持续集成是确保高效协作和可靠交付的核心实践。以下是在CentOS上安装配置Jenkins与GitLab集成的详细步骤:
1.安装JDK
解压JDK安装包并设置环境变量:
JDK下载网址 Java Downloads | Oracle 台灣
tar zxvf jdk-11.0.5_linux-x64_bin.tar.gz -C /usr/local/ vim /etc/profile # 添加以下内容 export JAVA_HOME=/usr/local/jdk-11.0.5 export CLASSPATH=.:${JAVA_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH source /etc/profile java -version
2.安装Jenkins:
添加Jenkins仓库,安装Jenkins并修改运行用户和监听端口:
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key yum install epel-release -y yum install jenkins -y vim /etc/sysconfig/jenkins # 修改以下内容 JENKINS_USER="root" JENKINS_PORT="8888" vim /usr/lib/systemd/system/jenkins.service # 添加以下内容 User=root Group=root Environment="JAVA_HOME=/usr/local/jdk-11.0.5" Environment="JENKINS_PORT=8888"
3.配置Jenkins启动脚本:
更新Jenkins启动脚本以添加Java路径:
vim /etc/init.d/jenkins # 在 candidates 中添加 /usr/local/jdk-11.0.5/bin/java systemctl daemon-reload systemctl start jenkins systemctl enable jenkins
老版本的jenkins(jdk1.8及之前可以service jenkins start):
但之后版本使用启动命令则会报错:
新版本的jenkins(jdk大于等于11):
cd /etc/init.d
./jenkins start
此时执行启动jenkins命令,还是显示启动失败,jdk还是引用的1.8,默认的加载usr/lib/jvm下的jdk

此时我们需要在usr/lib/jvm下安装对应的jkd11
yum install java-11-openjdk* -y
安装完成后需要改变下jdk的选中版本
alternatives --config java
选择对应支持的版本即可:
此时再启动jenkins成功!!!
- 查看是否开启防火墙
- 打开防火墙
- 查看开放的端口
-
firewall-cmd --list-ports
如果没有则加入:
firewall-cmd --permanent --zone=public --add-port=8888/tcp
搭建完毕:
直接cat 他提供的地址得到密码,然后进入后安装推荐即可
4.配置镜像源和插件:
修改Jenkins更新源,更新插件列表并安装所需插件(例如中文本地化、Git等):
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml # 将<url>内容替换为国内源 sed -i 's#https://www.google.com#https://www.baidu.com#' /var/lib/jenkins/updates/default.json systemctl restart jenkins
5.开始集成:
在浏览器中访问Jenkins
(http://服务器IP:8888),创建管理员账户。然后,添加GitLab凭据和创建项目:
- 点击用户名 -> 凭据 -> Jenkins全局 -> 添加凭据,输入GitLab用户名密码。
- 创建FreeStyle项目,配置Git源码管理,选择Git仓库URL和凭据。
相关文章:
从零开始配置Jenkins与GitLab集成:一步步实现持续集成
在软件开发中,持续集成是确保高效协作和可靠交付的核心实践。以下是在CentOS上安装配置Jenkins与GitLab集成的详细步骤: 1.安装JDK 解压JDK安装包并设置环境变量: JDK下载网址 Java Downloads | Oracle 台灣 tar zxvf jdk-11.0.5_linux-x64_b…...
高效多用的群集-Haproxy搭建Web集群
Haproxy搭建 Web 群集 一、Haproxy前言 HAProxy是一个使用c语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TcP和HrrP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。…...
aws的s3匿名公开访问
点击桶权限 ,添加策略 {"Version": "2012-10-17","Statement": [{"Sid": "AddPerm","Effect": "Allow","Principal": "*","Action": "s3:GetObject&qu…...
2023科隆游戏展:虚幻5游戏百花齐放,云渲染助力虚幻5高速渲染
8月23日,欧洲权威级游戏展示会——科隆游戏展拉开帷幕。今年的参展游戏也相当给力,数十款游戏新预告片在展会上公布,其中有不少游戏使用虚幻5引擎制作,开创了游戏开发新纪元。 虚幻5游戏百花齐放,渲染堪比电影级效果 …...
Spark大数据分析与实战笔记(第一章 Scala语言基础-2)
文章目录 章节概要1.2 Scala的基础语法1.2.1 声明值和变量1.2.2 数据类型1.2.3 算术和操作符重载1.2.4 控制结构语句1.2.5 方法和函数 章节概要 Spark是专为大规模数据处理而设计的快速通用的计算引擎,它是由Scala语言开发实现的,关于大数据技术…...
Linux 下 Mysql 的使用(Ubuntu20.04)
文章目录 一、安装二、使用2.1 登录2.2 数据库操作2.2.1 创建数据库2.2.2 删除数据库2.2.3 创建数据表 参考文档 一、安装 Linux 下 Mysql 的安装非常简单,一个命令即可: sudo apt install mysql-server检查安装是否成功,输入: …...
牛客练习赛114
A.最后有0得数肯定是10得倍数,然后直接排序即可 #include<bits/stdc.h> using namespace std; const int N 1e610,mod1e97; int n; void solve(){cin>>n;vector<int> a(n);for(auto&i:a) cin>>i;sort(a.begin(),a.end(),greater<&g…...
Http与Https
1.简单介绍 HTTP:最广泛应用的网络通信协议,基于TCP,数据传输简单高效,数据是明文。 HTTPS:是HTTP的加强版,是HTTPSSL。在HTTP的基础上加了安全机制,一方面保证数据的安全传输,另一…...
前端通信(渲染、http、缓存、异步、跨域)自用笔记
SSR/CSR:HTML拼接?网页源码?SEO/交互性 SSR (server side render)服务端渲染,是指由服务侧(server side)完成页面的DOM结构拼接,然后发送到浏览器,为其绑定状…...
43.227.198.x怎么检查服务器里是否中毒情况?
要检查43.227.198.1服务器是否中毒,可以执行以下步骤: 运行杀毒软件:运行已安装的杀毒软件进行全盘扫描,查看是否有病毒或恶意软件。如果发现病毒或恶意软件,立即将其删除或隔离。 检查系统文件:检查服务器…...
Sentinel dashboard无法查询到应用的限流配置问题以及解决
一。问题引入 使用sentinle-dashboard控制台 项目整体升级后,发现控制台上无法看到流控规则了 之前的问题是无法注册上来 现在是注册上来了。结果看不到流控规则配置了。 关于注册不上来的问题,可以看另一篇文章 https://blog.csdn.net/a15835774652/…...
【Spring Boot】社交网站中验证用户登录的checkUser方法
public boolean checkUser(User user) {User userInDb userRepository.findByUsername(user.getUsername());if (userInDb ! null && userInDb.getPassword().equals(user.getPassword())) {return true;} else {return false;}} } 这段代码是UserService类中的checkU…...
edge浏览器进行qq截图过保爆决过程
edge浏览器进行qq截图过保解决过程 参考:电脑截屏曝光特别高怎么解决? - 知乎 问题展示 饱和度过高,刺眼 1. 在chrome地址栏输入chrome://flags/ 2. 在页面的搜索栏搜索force color profile 3. 在选项中选择所对应的颜色管理。(…...
【Linux】Linux在防火墙firewall中开放或删除某端口
在生产中往往是不能关闭防火墙firewall的(以下操作是在linux中执行的) #补充一下查看防火墙的命令 #查看防火墙状态 systemctl status firewalld #关闭防火墙 systemctl stop firewalld #重启防火墙 systemctl restart firewalld #启动防火墙 systemctl …...
C++构造函数初始化列表
构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。 C构造函数的初始化列表使得代码更加简洁,请看下面的例子: #include <iostre…...
c语言调用mciSendString播放音乐
如下所示,这是一个使用c语言调用系统方法mciSendString(),让系统播放音乐的示例: baihuaxiang 代码: #include <graphics.h> #include <Windows.h> #include <mmsystem.h>#pragma comment(lib,"WINMM.LIB…...
Qt:qRegisterMetaType为Qt信号和槽添加自定义参数类型
背景 qt信号和槽之间的参数传递默认只能传递qt内部已有的类型,例如QString等,若我们自定义类型作为参数时,虽然编译不会报错,但运行时会提示connect无效,无法识别自定义的类。 此时需要我们将自定义类进行注册&#…...
ffmpeg rtp发送video和audio并播放
发送h264 video ffmpeg -re -stream_loop -1 -i h264.mp4 -vcodec h264 -f rtp rtp://127.0.0.1:5006SDP: v0 o- 0 0 IN IP4 127.0.0.1 sNo Name cIN IP4 127.0.0.1 t0 0 atool:libavformat LIBAVFORMAT_VERSION mvideo 5006 RTP/AVP 96 artpmap:96 H264/90000 afmtp:96 packe…...
CSS打字回删效果动画源码
<!DOCTYPE html> <html lang="en"> <head><meta charset...
Vue全局后置守卫
全局后置守卫 一、在 router 目录下的 index.js 文件中配置全局后置守卫。 import Vue from vue import VueRouter from vue-router Vue.use(VueRouter)import Home from ../views/Home.vue import About from ../views/About.vue import Login from ../views/Login.vueconst…...
Unity-MCP协议:可嵌入、可协商的AI上下文通信标准
1. 这不是又一个“AI插件”,而是Unity开发工作流的底层重定义你有没有过这样的时刻:在Unity里反复调整Animator Controller的过渡条件,只为让角色转身动画不穿模;写完一段NavMesh寻路逻辑,却要花两小时调试Agent卡在斜…...
Unity/Unreal开发者必看:用手机和陀螺仪实验,5分钟搞懂万向节死锁(附避坑指南)
Unity/Unreal开发者实战指南:用手机陀螺仪5分钟破解万向节死锁当你调试第一人称视角时,角色突然卡在墙面无法转动;当无人机模型在俯冲90度时失控乱转——这些很可能都是万向节死锁(Gimbal Lock)在作祟。作为实时3D开发中最恼人的数学陷阱之一…...
【DeepSeek漏洞扫描辅助实战指南】:20年安全专家亲授3大避坑法则与5步提效流程
更多请点击: https://intelliparadigm.com 第一章:DeepSeek漏洞扫描辅助的核心价值与适用边界 DeepSeek漏洞扫描辅助并非通用型渗透测试引擎,而是一个聚焦于大语言模型(LLM)应用层安全的轻量级分析工具。其核心价值在…...
【2026实测】怎么提高论文原创度?盘点8款主流降AI工具,附结构级优化指南
写文章最怕碰到什么,是辛辛苦苦自己码出来的字,却被标了极高的AI值。目前很多文本审核机制对内容的原创度要求极高,纯手写的初稿也可能因为句式太工整被判定为机器生成的。 为了帮几个快被这事折腾疯了的学弟学妹找条出路,我花了…...
人工智能的伦理与安全:这3个问题,软件测试从业者必须重视
随着大语言模型、生成式AI的爆发式落地,人工智能已经从实验室走向千行百业的生产场景,深刻改变着软件开发与交付的逻辑。对于直接把控产品质量关口的软件测试从业者来说,我们的职责早已不再是单纯验证功能可用性、排查性能bug那么简单——AI系…...
5步彻底解决Windows DLL加载冲突:UE4SS系统故障排查指南
5步彻底解决Windows DLL加载冲突:UE4SS系统故障排查指南 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS…...
低空旅游观光与低空通勤(eVTOL)运营管理与服务保障平台建设方案
本方案旨在为eVTOL载具构建集运营管理、空中交通管制、安全保障与乘客服务于一体的数字化平台。通过微服务架构、5G-A融合感知、空域网格化与零信任安全等核心技术,解决高密度飞行中的资源调度与安全冲突问题。目标实现毫秒级冲突解算与15分钟内快速周转,…...
自动加字幕软件推荐:口播视频如何批量加字幕过
口播视频加字幕,为什么越做越累?一位知识类博主连续两周日更3条口播视频,每条12–18分钟,需手动校对字幕、拆分金句切片、补气口停顿、匹配背景音乐——最后一条视频发布时,字幕错漏率达17%,平台审核未过。…...
关于内卷,几个值得深想的洞察
首先声明:这篇不劝躺平,也不教内卷——只是想说清楚,你到底在一个什么样的游戏里。 你以为内卷是“资源不足”,其实是“分配方式” 很多人对内卷有个本质上的认知错误:以为内卷是因为资源不够,大家为了抢资…...
TII投稿避坑指南:LaTeX模板编译报错‘xxx-eps-converted-to.pdf not found’的终极解决方案
TII投稿LaTeX避坑实战:从编译报错到完美PDF生成的终极指南 凌晨三点的实验室,屏幕上闪烁的xxx-eps-converted-to.pdf not found错误提示仿佛在嘲笑你连续八小时的徒劳尝试。这不是科幻场景,而是每位用LaTeX撰写TII论文的研究者都可能遭遇的真…...
