如何通过提交信息中指定标记触发GitHub Action的Docker镜像构建流程
GitHub Action 按提交信息标记触发构建配置方法
你可以直接通过GitHub Action内置的上下文变量和条件判断实现需求,无需安装额外插件,操作步骤如下:
1. 调整工作流的触发规则与条件判断
找到你仓库中.github/workflows/目录下对应的Docker构建工作流yaml文件,添加条件判断逻辑:
- 首先设置工作流仅响应master分支的push事件
- 再添加if条件,判断提交信息中是否包含指定标记
[ci build]
单提交匹配配置(仅检查最新提交信息)
如果你的push操作每次仅提交1条commit,直接用以下配置即可:
name: Docker 镜像构建 on: push: branches: - master # 仅监听master分支的push事件 # 全局条件:仅当提交信息包含[ci build]时才执行所有任务 if: contains(github.event.head_commit.message, '[ci build]') jobs: build: runs-on: ubuntu-latest steps: # 拉取代码 - uses: actions/checkout@v4 # 你的Docker构建原有逻辑,例如: - name: 构建并推送Docker镜像 uses: docker/build-push-action@v5 with: context: . push: true tags: your-image-name:latest
多提交匹配配置(检查本次push所有提交信息)
如果单次push会提交多条commit,需要只要有任意一条commit带标记就触发构建,把上面的全局if替换成以下内容即可:
if: contains(join(github.event.commits.*.message, ' '), '[ci build]')
2. 配置验证
完成配置后提交代码测试即可:
- 提交信息携带
[ci build]时,工作流会正常执行构建 - 普通提交不会触发该工作流,符合需求
内容的提问来源于stack exchange,提问作者Prajwol
相关产品推荐
相关产品推荐

