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

如何通过GitHub Action将ETL仓库目录上移一级(自托管Runner)

解决自托管Runner拉取代码后目录嵌套的问题

问题原因

这是GitHub Actions自托管Runner的默认行为:Runner会先创建一个与仓库同名的外层目录(即外层etl),然后将仓库代码克隆到这个目录下的同名子目录(内层etl),最终形成两层嵌套的结构。

两种解决方法

方法1:拉取代码时直接指定路径(推荐)

修改Actions工作流中的actions/checkout步骤,通过path参数指定将代码克隆到当前工作目录(外层etl),避免嵌套:

- name: 拉取仓库代码
  uses: actions/checkout@v4
  with:
    path: .

这样拉取完成后,_work/etl下就会直接是仓库里的abc等内容,和你期望的结构一致。

方法2:已拉取代码后手动调整目录结构

如果已经完成拉取,可通过以下命令修正目录结构:

# 进入外层etl目录
cd _work/etl
# 将内层etl下的所有文件/目录移动到外层
mv etl/* .
# 如果有隐藏文件,执行这条命令补充移动
mv etl/.* . 2>/dev/null
# 删除空的内层etl目录
rm -rf etl

注:2>/dev/null是为了忽略移动.和..时的错误提示,不影响实际文件移动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:55:16