linux

GitLab在Linux上的自动化测试怎么做

小樊
38
2025-11-10 23:29:38
栏目: 智能运维

1. 安装GitLab Runner
GitLab Runner是执行CI/CD任务的代理工具,需先在Linux服务器上安装。以Ubuntu/Debian为例,可通过以下命令快速安装:

curl -L --output /etc/apt/trusted.gpg.d/gitlab.asc https://packages.gitlab.com/gitlab/gitlab-runner/gpgkey
echo "deb https://packages.gitlab.com/gitlab/gitlab-runner/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gitlab-runner.list
sudo apt-get update && sudo apt-get install gitlab-runner

对于CentOS/RHEL系统,可使用yum源安装:

curl -L --output /etc/yum.repos.d/gitlab-runner.repo https://packages.gitlab.com/gitlab/gitlab-runner/el/$(rpm -E %{rhel})/gitlab-runner.repo
sudo yum install gitlab-runner

安装完成后,启动Runner服务:sudo systemctl start gitlab-runner

2. 注册GitLab Runner
安装完成后,需将Runner注册到GitLab项目。执行以下命令:

sudo gitlab-runner register

按提示输入以下信息:

注册成功后,Runner信息会保存在/etc/gitlab-runner/config.toml中。

3. 创建.gitlab-ci.yml配置文件
在项目根目录下创建.gitlab-ci.yml文件,定义CI/CD流水线的阶段(Stages)任务(Jobs)。基础结构如下:

stages:
  - build  # 构建阶段(可选)
  - test   # 测试阶段(核心)
  - deploy # 部署阶段(可选)

# 构建任务(示例:Maven项目)
build:
  stage: build
  script:
    - echo "Building application..."
    - mvn clean package
  artifacts:
    paths:
      - target/*.jar  # 传递构建产物到后续任务

# 单元测试任务(示例:JUnit)
test:
  stage: test
  script:
    - echo "Running unit tests..."
    - mvn test
  artifacts:
    reports:
      junit: target/surefire-reports/*.xml  # 生成JUnit格式测试报告

上述配置会依次执行构建和测试任务,测试结果会以JUnit报告形式展示在GitLab CI/CD界面。

4. 编写测试脚本
根据项目技术栈选择测试框架,常见组合如下:

例如,Node.js项目的package.json中添加测试脚本:

{
  "scripts": {
    "test": "jest --coverage"
  }
}

测试脚本需与.gitlab-ci.yml中的script命令对应,确保Runner能正确执行。

5. 高级配置优化

6. 查看测试结果
每次代码推送(Push)或合并请求(Merge Request)触发流水线后,可在GitLab项目页面CI/CD → Pipelines查看流水线状态。点击具体Job(如test),进入Job Logs查看详细执行日志,包括测试通过/失败数量、错误堆栈等信息。若配置了测试报告(如JUnit),可直接在Job页面查看HTML格式的测试结果摘要。

0
看了该问题的人还看了