我为个人项目制作了 CI/CD 管道。我已使用以下方法尝试仅在主分支上运行管道。 文档建议为此目的使用工作流调度,我已使用以下代码片段来获得此行为。
on:
workflow_dispatch:
branches:
- main
但是,当我转到 Github 操作屏幕手动运行管道时,我也可以尝试在其他分支上运行它。理想情况下,我想仅在主干上运行这项工作(发布),而不是其他。
有什么办法可以强制执行吗?
供参考,管道是此YML的一部分。您还可以在
操作屏幕上看到在
Test
分支上运行的发布作业。
您可以向您的作业添加
if: github.ref == 'refs/heads/master'
,以防止其在给定分支上运行。
或者像
if: startsWith(github.ref, 'refs/heads/release')
如果您只想在发布分支上运行
示例:
jobs:
Setup:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main'
steps:
...