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

从零开始配置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和凭据。

http://www.lryc.cn/news/139967.html

相关文章:

  • 高效多用的群集-Haproxy搭建Web集群
  • aws的s3匿名公开访问
  • 2023科隆游戏展:虚幻5游戏百花齐放,云渲染助力虚幻5高速渲染
  • Spark大数据分析与实战笔记(第一章 Scala语言基础-2)
  • Linux 下 Mysql 的使用(Ubuntu20.04)
  • 牛客练习赛114
  • Http与Https
  • 前端通信(渲染、http、缓存、异步、跨域)自用笔记
  • 43.227.198.x怎么检查服务器里是否中毒情况?
  • Sentinel dashboard无法查询到应用的限流配置问题以及解决
  • 【Spring Boot】社交网站中验证用户登录的checkUser方法
  • edge浏览器进行qq截图过保爆决过程
  • 【Linux】Linux在防火墙firewall中开放或删除某端口
  • C++构造函数初始化列表
  • c语言调用mciSendString播放音乐
  • Qt:qRegisterMetaType为Qt信号和槽添加自定义参数类型
  • ffmpeg rtp发送video和audio并播放
  • CSS打字回删效果动画源码
  • Vue全局后置守卫
  • 【Go语言】基于Socket编程的P2P通信程序示例
  • 16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及Elasticsearch示例(2)
  • Java代码优化案例2:使用HashMap代替List进行数据查找
  • 每天一道leetcode:542. 01 矩阵(图论中等广度优先遍历)
  • SQL SERVER 日期函数相关内容
  • 多维时序 | MATLAB实现SCNGO-BiGRU-Attention多变量时间序列预测
  • 从零开始学习 Java:简单易懂的入门指南之JDK8时间相关类(十八)
  • Spring Boot实践八--用户管理系统(下)
  • C语言入门 Day_10 判断的进阶
  • 机器学习基础13-基于集成算法优化模型(基于印第安糖尿病 Pima Indians数据集)
  • Rancher部署k8s集群