能否将GitHub Actions的YAML文件存于非.github/workflows目录及src文件夹?
GitHub Actions 工作流文件存放位置问题解答
默认情况下,GitHub Actions只会自动识别并运行.github/workflows目录下的YAML工作流文件,直接把文件放在src或其他非默认目录里,系统不会自动触发执行。
如果一定要把工作流文件放在src这类自定义目录,有两种可行的实现方式:
手动触发的入口工作流
在.github/workflows目录下创建一个入口YAML文件,通过uses指令引用src目录里的目标工作流文件。示例代码如下:name: 调用自定义目录下的工作流 on: workflow_dispatch # 支持手动触发 jobs: run-custom-workflow: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 # 先拉取仓库代码 - uses: ./src/your-workflow-file.yml # 引用src目录下的工作流文件之后你可以在GitHub仓库的Actions页面手动触发这个入口工作流,它会自动执行
src目录里指定的工作流。事件触发的入口工作流
如果需要自动触发,可在.github/workflows的入口文件里监听特定事件(比如push、pull_request),然后在工作流步骤里调用src目录下的工作流文件,逻辑和手动触发的方式类似。
总结来说:直接放在非默认目录的工作流文件不会被GitHub Actions自动识别,必须通过.github/workflows里的入口文件作为桥梁,才能让自定义目录下的工作流文件被执行。
内容的提问来源于stack exchange,提问作者Dionysus
相关产品推荐
相关产品推荐

