这是一份示例的 GitLab CI 文件,可以根据不同的 source branch 选择不同的 merge request 描述模板,并在创建 PR 时自动将其贴到描述中。

variables:
  SOURCE_BRANCH_TEMPLATE: default
  TARGET_BRANCH_TEMPLATE: default

stages:
  - build
  - test
  - deploy

before_script:
  - echo 'Setting up environment...'

build:
  stage: build
  script:
    - echo 'Building...'

test:
  stage: test
  script:
    - echo 'Testing...'

deploy:
  stage: deploy
  script:
    - echo 'Deploying...'
    
  only:
    - merge_requests
    
  variables:
    MR_TEMPLATE: |
      {% if $CI_MERGE_REQUEST_SOURCE_BRANCH == 'feature-branch' %}
        ## Feature Branch PR Template
        *Description*: Please provide a brief description of the feature being added.
        *Steps*: Please outline the steps taken to implement this feature.
        *Testing*: Please describe how this feature has been tested.
      {% else %}
        ## Default PR Template
        *Description*: Please provide a brief description of the changes being made.
        *Issues*: Please list any related issues.
        *Testing*: Please describe how these changes have been tested.
      {% endif %}
    
  before_script:
    - echo 'Setting up environment for deployment...'
    
  after_script:
    - echo 'Cleaning up environment after deployment...'
    
  when: manual

在这个示例中,我们定义了两个模板,一个是默认模板,另一个是用于特定分支的模板。在部署阶段,我们使用了一个变量 MR_TEMPLATE,它会根据 source branch 自动选择合适的模板。如果 source branch 是 feature-branch,则会使用特定分支的模板,否则就使用默认模板。

要注意的是,我们使用了 only: - merge_requests 来确保这个 job 只会在创建 PR 时触发。同时,我们也设置了 when: manual,这意味着这个 job 需要手动触发。

当你创建一个新的 PR 时,这个 job 会自动运行,并根据 source branch 选择合适的模板,并将其贴到 PR 描述中。这样,你就可以更轻松地创建有用的 PR 描述啦!

使用 GitLab CI 自动生成 Merge Request 描述模板

原文地址: https://www.cveoy.top/t/topic/oHU6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录