一份最基础的gitlab-ci文件,其中就maven的build和test

说明的gitlab-ci.yml文件,包含注释解释每个部分的功能:

# 定义流水线的各个阶段,包含两个阶段:build 和 test
stages:
  - build
  - test

# 设置Maven的环境变量,指定本地仓库位置
variables:
  MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"

# 在所有作业之前运行的脚本,主要用于设置和检查环境
before_script:
  # 输出Maven选项,确保变量已正确设置
  - 'echo $MAVEN_OPTS'
  # 检查Maven版本,确保Maven已正确安装
  - 'mvn --version'

# 第一个作业:构建作业
build:
  # 这个作业所属的阶段是 build
  stage: build
  # 该作业执行的脚本
  script:
    # 使用 Maven 进行构建,清理项目并安装依赖,但跳过测试
    - 'mvn clean install -B -DskipTests'
  # 指定要保存的工件,这些工件将在后续的作业中使用
  artifacts:
    # 保存目标目录中的所有 Jar 文件
    paths:
      - target/*.jar

# 第二个作业:测试作业
test:
  # 这个作业所属的阶段是 test
  stage: test
  # 该作业执行的脚本
  script:
    # 使用 Maven 运行测试
    - 'mvn test'
  # 总是保存测试报告工件,即使测试失败
  artifacts:
    when: always
    # 保存目标目录中的 Surefire 测试报告
    paths:
      - target/surefire-reports

详细说明

  1. stages: 定义了流水线中的两个阶段:buildtest

    • build: 该阶段主要用于构建项目。
    • test: 该阶段主要用于运行测试。
  2. variables: 设置了Maven的环境变量。

    • MAVEN_OPTS: 定义了Maven的选项,将本地仓库设置到CI项目目录下的.m2/repository,以避免每次构建都下载依赖。
  3. before_script: 定义了在所有作业之前运行的脚本。

    • echo $MAVEN_OPTS: 输出Maven选项,确保变量已正确设置。
    • mvn --version: 检查Maven版本,确保Maven已正确安装。
  4. build: 定义了构建作业。

    • stage: 指定该作业属于 build 阶段。
    • script: 运行的脚本命令。
      • mvn clean install -B -DskipTests: 使用Maven进行构建,清理项目并安装依赖,但跳过测试。-B 是无交互模式。
    • artifacts: 指定要保存的工件。
      • paths: 保存构建生成的Jar文件。
  5. test: 定义了测试作业。

    • stage: 指定该作业属于 test 阶段。
    • script: 运行的脚本命令。
      • mvn test: 使用Maven运行测试。
    • artifacts: 总是保存测试报告工件。
      • when: always: 总是保存,即使测试失败。
      • paths: 保存目标目录中的Surefire测试报告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值