Gitlab ci 规范代码提交流程

一、背景

  • 背景:当前合并代码方式人工干预较多,需要制订一套规范代码提交流程
  • 目标群体:使用 gitlab 的开发人员
  • 技术应用场景:gitlab 代码提交检测
  • 整体思路:编写 gitlab ci-cd 脚本

二、需求

代码提交规范检测

  • 开发人员合并代码触发 pipeline
  • 需要触发检测脚本:检查 CHANGELOG.md 文件是否有做变更操作,如果没有做变更操作,则 pipeline 抛出异常
  • 合并页面需要结合 pipeline 运行结果,当流水线失败时,则合并操作不允

三、解决方案

  • 检查 CHANGELOG.md 文件是否有做更改
#!/usr/bin/env bash

set -o errexit
set -o pipefail
set +e

files=$(git show --raw ${CI_COMMIT_SHA} --name-only --diff-filter=ACM | grep -E -i "CHANGELOG.md")

if [[ "${files}" = "" ]]; then
    echo "Error: 未发现 CHANGELOG.md 文件变更,请'添加'或'修改'CHANGELOG.md" >&2
    exit 1
else
    echo -e "变更如下:\n${files}"
fi
  • 编写流水线文件
stages:
  - changelog

check-code-job:
  stage: changelog
  script:
    - echo "Check the code changelog:"
    # 脚本路径
    - hack/verify-changelog.sh
  # 当有 请求合并 时出发
  only:
    - merge_request
  • 配置合并请求策略,必须等待流水线步骤执行成功,才能提供合并按钮
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值