You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中检查文件是否不存在?

在GitHub Actions YAML中检查文件是否存在

直接用内置表达式(推荐)

GitHub Actions自带exists()函数,能直接在if条件里判断文件/目录是否存在,不用额外依赖。你的需求可以这么写:

- name: 创建文件
  if: "!exists('cat/cat.txt')"
  run: echo "Cat文件不存在,现在创建"

路径用正斜杠即可,Windows环境的Runner也能正常识别;如果必须使用反斜杠,记得写成cat\\cat.txt做转义处理。

用第三方专用Action

GitHub Marketplace有现成的检查文件存在的Action,你可以先执行检查步骤,再根据其输出结果决定后续操作:

- name: 检查cat.txt是否存在
  id: check_cat_file
  uses: 市场中的Check File Existence Action
  with:
    path: 'cat/cat.txt'

- name: 创建文件
  if: "steps.check_cat_file.outputs.exists == 'false'"
  run: echo "Cat文件不存在,现在创建"

用Gradle/Groovy兜底

如果上面的方法都不合需求,就按你计划的在Gradle里编写逻辑:

task checkAndCreateCatFile {
    doLast {
        def targetFile = file('cat/cat.txt')
        if (!targetFile.exists()) {
            println "Cat文件不存在,现在创建"
            targetFile.parentFile.mkdirs() // 按需创建父目录
            targetFile.createNewFile()
        }
    }
}

然后在YAML中调用Gradle任务:

- name: 执行Gradle文件检查任务
  run: ./gradlew checkAndCreateCatFile

内容的提问来源于stack exchange,提问作者DevopitionBro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:15:01