linux

GitLab在Linux上的持续集成怎样配置

小樊
42
2025-07-15 18:48:49
栏目: 智能运维

在Linux上配置GitLab的持续集成(CI)涉及几个主要步骤,包括安装GitLab Runner、注册Runner、配置 .gitlab-ci.yml 文件以及设置CI/CD流程。以下是详细的步骤指南:

安装GitLab Runner

在Ubuntu上安装GitLab Runner

  1. 更新包列表:
sudo apt update
  1. 安装依赖包:
sudo apt install curl openssh-server policycoreutils-python
  1. 下载并安装GitLab Runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.deb.sh | sudo bash
  1. 赋予执行权限并安装:
sudo chmod +x /usr/local/bin/gitlab-runnersudo apt-get install gitlab-ci-multi-runner -y
  1. 启动并启用GitLab Runner服务:
sudo gitlab-runner install --user root --working-directory /home/gitlab-runnersudo gitlab-runner start

在CentOS上安装GitLab Runner

  1. 更新包列表:
sudo yum update
  1. 安装依赖包:
sudo yum install curl openssh-server openssh-clients postfix cronie policycoreutils-Python
  1. 下载并安装GitLab Runner:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
  1. 赋予执行权限并安装:
sudo chmod +x /usr/local/bin/gitlab-runnersudo yum install gitlab-ci-multi-runner -y
  1. 启动并启用GitLab Runner服务:
sudo gitlab-runner install --user root --working-directory /home/gitlab-runnersudo gitlab-runner start

注册GitLab Runner

  1. 在GitLab的管理界面中,依次进入 Settings - CI/CD - Runners,点击 Register a Runner
  2. 按照提示输入GitLab实例的URL和注册令牌,选择执行器(如 shell ),然后保存。

配置 .gitlab-ci.yml 文件

在项目的根目录下创建或编辑 .gitlab-ci.yml 文件,定义CI/CD流程。以下是一个简单的示例:

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Building the project..."

test-job1:
  stage: test
  script:
    - echo "Running tests..."

test-job2:
  stage: test
  script:
    - echo "Running longer tests..."
    - sleep 20

deploy-prod:
  stage: deploy
  script:
    - echo "Deploying the project..."
  only:
    - master

提交代码触发CI/CD流程

.gitlab-ci.yml 文件提交到Git仓库中,每次代码提交都会触发CI/CD流程,GitLab Runner会根据 .gitlab-ci.yml 文件中的定义执行相应的任务。

监控CI/CD流程

登录GitLab管理界面,进入 CI/CD - Pipelines,可以查看当前CI/CD流程的状态和结果。

通过以上步骤,你可以在Linux平台上成功配置GitLab的持续集成系统。根据具体需求,你可以进一步自定义 .gitlab-ci.yml 文件,添加更多的任务和执行步骤。

0
看了该问题的人还看了