在CentOS系统上部署GitLabRunner并配置CICD自动项目集成!
在CentOS系统上部署GitLabRunner并配置CICD自动项目集成
在CentOS系统上部署GitLab Runner并配置CI/CD自动项目集成GitLab CI/CD是一个强大的持续集成和持续部署工具,能够显著提高开发团队的效率。
本文将详细介绍如何在CentOS系统上部署GitLab Runner,并与GitLab仓库集成配置CI/CD。这篇指南旨在帮助新手完成GitLab仓库的CI/CD基础配置工作。
安装GitLab Runner
首先,我们需要在CentOS系统上安装GitLab Runner。
添加GitLab官方仓库
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
查询可安装的GitLab Runner版本
yum --showduplicates list gitlab-runner...
gitlab-runner.x86_64 15.11.1-1 runner_gitlab-runner
gitlab-runner.x86_64 16.0.0-1 runner_gitlab-runner
gitlab-runner.x86_64 16.0.1-1 runner_gitlab-runner
gitlab-runner.x86_64 16.0.2-1 runner_gitlab-runner
...
安装指定版本的GitLab Runner
由于gitlab安装的是16.0.1版本,我们选择安装16.0.1版本的GitLab Runner。
sudo yum install gitlab-runner-16.0.1
或将该版本的rpm下载后安装。
离线安装包链接:https://pan.quark.cn/s/fe504d5109e1sudo rpm -ivh gitlab-runner-16.0.1-1.x86_64.rpm
启动GitLab Runner服务
# 安装服务
gitlab-runner install --user gitlab-runner -d=/home/gitlab-runner
sudo systemctl start gitlab-runner
sudo systemctl enable gitlab-runner
注册GitLab Runner
安装完成后,我们需要将Runner注册到GitLab仓库。
获取注册令牌并注册Runner
-
登录GitLab网页界面
-
进入项目设置 > CI/CD > Runners
- 点击New Project Runner
-
根据提示生成注册runner的命令
注册runner
-
gitlab-runner register --url http://192.168.80.131:8082 \--token glrt-u-xNfQgD7ZjXfsjqoVAq
• 查看runner
配置.gitlab-ci.yml文件
在项目根目录创建.gitlab-ci.yml文件,这是CI/CD配置的核心。
基本结构
stages:-build
-test
-deployvariables:
VARIABLE_NAME:"value"before_script:
-echo"Preparing environment"build_job:
stage:build
tags:-linux-shell
script:-echo"Building the project"test_job:
stage:test
tags:-linux # 这里的tags要和gitlab-runner注册时的一样,否则无法识别到对应的runner-shell
script:-echo"Running tests"deploy_job:
stage:deploy
tags:-linux-shell
script:-echo"Deploying application"
only:- master
解释
-
stages: 定义流水线的阶段
-
variables: 设置全局变量
-
before_script: 在每个作业之前执行的命令
-
build_job, test_job, deploy_job: 具体的作业定义
-
only: 指定何时触发作业(例如只在master分支上)
触发CI/CD
-
提交代码到GitLab仓库
-
查看CI/CD流水线状态和日志
通过以上步骤,你就可以在CentOS系统上成功部署并配置GitLab Runner进行项目的自动构建、测试和部署了。确保你的.gitlab-ci.yml文件正确无误,并根据项目需求进行调整。