Git+Jenkins实战(一)
一、案例环境
1、案例拓扑

2、资源清单

二、部署GitLab(192.168.10.105)
1、基础环境配置
(1) 关闭防火墙及内核
hostnamectl set-hostname gitlab
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
(2) 解压并安装
tar zxf gitlab-ce-17.8.2.rpm.tar.gz
cd gitlab-ce-17.8.2.rpm
ls
dnf -y install gitlab-ce-17.8.2-ce.0.el9.x86_64.rpm
(3) 修改配置文件
vim /etc/gitlab/gitlab.rb
external_url ‘http://192.168.10.105’ 是 GitLab 配置中的核心参数,用于指定 GitLab 服务对外提供访问的基础 URL

(4) 解决版本兼容问题
ln -s /usr/lib64/libcrypt.so.1 /usr/lib64/libcrypt.so.2
具体来说:
libcrypt.so 是系统中负责密码加密相关功能的共享库文件
某些版本的 GitLab(或其依赖的组件)可能编译时依赖 libcrypt.so.2 这个库文件
但部分 Linux 系统(如 CentOS 7 等)默认只安装了 libcrypt.so.1(通常是 glibc 提供的版本)
通过创建从 libcrypt.so.1 到 libcrypt.so.2 的软链接,可以让依赖 libcrypt.so.2 的程序 “误以为” 找到了所需的库文件,从而避免因库版本不匹配导致的启动失败或功能异常
这个操作本质上是一种兼容处理,在系统库版本与软件依赖版本不一致时,通过链接方式临时解决依赖问题。如果系统环境允许,更规范的做法是安装对应版本的 libcrypt 库(如 libcrypt2)。
2、部署
(1) GitLib初始化
gitlab-ctl reconfigure
(2) 找到初始化密码
cat /etc/gitlab/initial_root_password
EDgqXDTjQnTGv/gMKYyFBS2yfp/BHaHntPA6cQ/e3to=

(3) 登录

(4) 修改root密码

三、jenkins部署(192.168.10.104)
可看上一章安装
四、Jenkins实现静态web网站自动发布
本案例部署了一个简单的静态网站,通过此操作过程,主要掌握代码发布的基本流程,以及在这个过程中我们需要注意的重点环节,也是掌握 jenkins 项目发布的入门级操作。在这些操作中,进一步学习jenkins 持续集成、持续部署流程。
1、安装web服务(192.168.10.101)
hostnamectl set-hostname web01
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
dnf -y install httpd
systemctl start httpd
netstat -anpt | grep httpd
2、上传代码到GitLab
在本环节中,需要为项目团队创建一个网站开发的项目,此处我们在 gitlab 中创建一个模拟网站,项目的名字为 league。
(1) 在 gitlab 中创建空白项目 league

3、克隆空项目到dev主机开发者本地(192.168.10.102)
(1) 基础环境
hostnamectl set-hostname dev
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
yum -y install git
(2) 克隆
git clone http://192.168.10.105/root/league.git

765

被折叠的 条评论
为什么被折叠?



