(五)、在centos上部署jekins、gitlab

在 CentOS 上部署 Jenkins + GitLab 的完整自动化 DevOps 环境
用于后续实现 Spring Boot 项目的自动构建、Docker 镜像打包、K8s 部署流水线。

下面给你一整套企业级部署方案(适用于 CentOS 7 / 8 / Stream)。


🚀 一、总体目标

组件作用部署方式
GitLab代码托管、版本管理Docker 容器部署
Jenkins自动构建 / CI/CDDocker 容器部署
Docker基础运行环境系统安装
Kubernetes目标部署平台已安装在 5 台 Linux 服务器上
Harbor(可选)镜像仓库选配(可后续补上)

🧰 二、系统准备

在一台 CentOS 服务器上(建议内存 ≥ 8GB)执行以下命令:

sudo yum update -y
sudo yum install -y curl vim git wget net-tools firewalld
sudo systemctl stop firewalld && sudo systemctl disable firewalld

🐳 三、安装 Docker

# 卸载旧版本(如有)
sudo yum remove -y docker docker-client docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置阿里云 Docker 源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

测试 Docker:

docker run hello-world

🧱 四、部署 GitLab

GitLab 占用内存较高(推荐至少 4GB RAM)

1️⃣ 创建配置目录

mkdir -p /data/gitlab/config /data/gitlab/logs /data/gitlab/data

2️⃣ 启动容器

docker run -d \
  --hostname gitlab.local \
  -p 8443:443 -p 8081:80 -p 2222:22 \
  --name gitlab \
  --restart always \
  -v /data/gitlab/config:/etc/gitlab \
  -v /data/gitlab/logs:/var/log/gitlab \
  -v /data/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

3️⃣ 修改 /etc/hosts

echo "127.0.0.1 gitlab.local" >> /etc/hosts

4️⃣ 首次登录

访问:http://gitlab.local:8081
等待约 3~5 分钟初始化。

默认管理员账户:root
密码位置:

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

⚙️ 五、部署 Jenkins

1️⃣ 创建目录

mkdir -p /data/jenkins
chmod 777 /data/jenkins

2️⃣ 启动容器

docker run -d \
  --name jenkins \
  -u root \
  -p 8080:8080 -p 50000:50000 \
  --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /data/jenkins:/var/jenkins_home \
  jenkins/jenkins:lts

3️⃣ 查看管理员密码

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

访问:http://<你的服务器IP>:8080
输入初始密码,安装推荐插件。


🔑 六、配置 Jenkins 集成 GitLab

1️⃣ 在 Jenkins 安装插件:

  • GitLab Plugin
  • Git Parameter Plugin
  • Pipeline Plugin
  • Docker Pipeline
  • Kubernetes Plugin

2️⃣ 在 GitLab 中创建 Access Token

进入:

用户头像 → Edit Profile → Access Tokens

勾选:

  • api
  • read_user
  • write_repository
  • read_repository

生成后复制 token。

3️⃣ 在 Jenkins 中配置 GitLab 连接

路径:

Manage Jenkins → Configure System → GitLab

添加 GitLab 服务器地址:

http://gitlab.local:8081

并填入刚才的 Token。


🧩 七、创建 Jenkins Pipeline(CI/CD)

新建一个任务:Pipeline

示例 Jenkinsfile

pipeline {
    agent any
    environment {
        IMAGE_NAME = "yls1997/myapp"
        NAMESPACE = "myapp-dev"
    }
    stages {
        stage('拉取代码') {
            steps {
                git branch: 'main', url: 'http://gitlab.local:8081/root/myapp.git'
            }
        }
        stage('构建Jar') {
            steps {
                sh 'mvn clean package -DskipTests'
            }
        }
        stage('构建镜像') {
            steps {
                sh 'docker build -t $IMAGE_NAME:latest .'
            }
        }
        stage('推送镜像') {
            steps {
                sh 'docker push $IMAGE_NAME:latest'
            }
        }
        stage('部署K8s') {
            steps {
                sh '''
                kubectl apply -f k8s/deployment.yaml
                kubectl apply -f k8s/service.yaml
                '''
            }
        }
    }
}

🧩 八、验证部署

查看 Jenkins 任务状态:

docker logs -f jenkins

查看 GitLab 容器状态:

docker ps | grep gitlab

测试访问:

  • Jenkins: http://<服务器IP>:8080
  • GitLab: http://<服务器IP>:8081

✅ 九、部署完成后结构图

+--------------------------------------------------+
|                DevOps 一体化平台                 |
+--------------------------------------------------+
| GitLab 代码仓库   | Jenkins 自动构建             |
| ----------------  | ---------------------------- |
| 触发 push 事件    → 拉取代码 → 构建 Docker 镜像 |
|                   → 推送镜像 → 部署到 K8s        |
+--------------------------------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雀山的明神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值