ubuntu

ubuntu gitlab自动化测试方法

小樊
47
2025-10-08 07:47:50
栏目: 智能运维

Ubuntu环境下GitLab自动化测试实施方法

1. 安装GitLab Runner

GitLab Runner是执行CI/CD作业的核心组件,需先在Ubuntu服务器上安装。常用包管理器安装(以Ubuntu 22.04为例):

# 添加GitLab Runner仓库并安装
curl -L --output gitlab-runner.deb https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh && \
sudo dpkg -i gitlab-runner.deb && \
sudo apt-get update && \
sudo apt-get install gitlab-runner

安装完成后,启动Runner服务并设置开机自启:

sudo systemctl start gitlab-runner && \
sudo systemctl enable gitlab-runner

2. 注册GitLab Runner

注册Runner与GitLab项目绑定,获取项目URL和Token(路径:GitLab项目→Settings→CI/CD→Runners):

sudo gitlab-runner register

按提示输入信息:

3. 创建.gitlab-ci.yml配置文件

在项目根目录创建.gitlab-ci.yml,定义测试流程的核心逻辑(以Java+Maven项目为例):

stages:
  - build
  - test
  - report

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    - .m2/repository/  # 缓存Maven依赖,加速后续构建

build_job:
  stage: build
  script:
    - echo "Compiling code..."
    - mvn clean compile
  artifacts:
    paths:
      - target/  # 传递编译产物给后续阶段

test_job:
  stage: test
  script:
    - echo "Running unit tests..."
    - mvn test
  artifacts:
    reports:
      junit: target/surefire-reports/*.xml  # 生成JUnit格式测试报告

deploy_job:
  stage: deploy
  script:
    - echo "Deploying to production..."
  only:
    - main  # 仅main分支触发部署

4. 编写测试脚本

根据项目技术栈编写测试用例,例如:

5. 配置测试报告(可选但推荐)

为提升测试结果可读性,可将测试报告集成到GitLab界面。例如,JUnit报告(适用于Java/Maven):

test_job:
  stage: test
  script:
    - mvn test
  artifacts:
    reports:
      junit: target/surefire-reports/*.xml  # 自动解析并展示在CI/CD界面

Playwright测试报告(适用于Web端):

test_with_playwright:
  stage: test
  image: mcr.microsoft.com/playwright/python:v1.42.1  # 使用Playwright官方镜像
  script:
    - pip install playwright
    - playwright install
    - pytest tests/ --headed --timeout=30000  # 执行测试
  artifacts:
    paths:
      - playwright-report/  # 保存HTML报告
    when: always  # 无论测试通过与否都上传报告

6. 触发自动化测试

将代码推送到GitLab仓库(如main分支),Runner会自动检测.gitlab-ci.yml并执行定义的作业。也可通过Webhook实现实时触发(路径:项目→Settings→Webhooks)。

7. 查看测试结果

在GitLab项目页面→CI/CD→Pipelines,点击对应流水线可查看:

高级优化技巧

通过以上步骤,可在Ubuntu环境下实现GitLab自动化测试,覆盖代码提交→构建→测试→报告的全流程,提升开发效率和代码质量。

0
看了该问题的人还看了