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

GitHub Actions/checkout清空Runner文件系统 求助双仓库共存方案

解决GitHub Actions中多仓库检出共存的问题

问题根源是actions/checkout@v3的默认行为:每次执行checkout都会将仓库内容检出到当前工作目录($GITHUB_WORKSPACE),第二次checkout会直接覆盖该目录下的所有现有文件,导致之前检出的modules目录被清空。

修改后的工作流配置

给第一个checkout步骤添加path参数,指定模块仓库的检出目录,避免和后续客户端仓库的检出路径冲突:

jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest

    steps:
    # 将模块仓库检出到指定的modules目录
    - name: Checkout Modules
      uses: actions/checkout@v3
      with:
        repository: myaccount/myrepo
        path: modules  # 指定检出目录为modules

    - name: Show Filesystem1
      run: ls -l -R
      
    # 客户端仓库检出到默认工作目录(不会覆盖modules)
    - name: Checkout Client
      uses: actions/checkout@v3

    - name: Show Filesystem2
      run: ls -l -R

修改后的文件结构说明

执行完两个checkout步骤后,Runner上的文件结构会保留两个仓库的内容:

.:
total 28
drwxr-xr-x 6 runner docker 4096 Apr  7 12:55 modules
-rw-r--r-- 1 runner docker 1291 Apr  7 12:52 keyvault.tf
-rw-r--r-- 1 runner docker 3538 Apr  7 12:52 main-1.tf
-rw-r--r-- 1 runner docker  638 Apr  7 12:52 outputs.tf
-rw-r--r-- 1 runner docker  387 Apr  7 12:52 provider.tf
-rw-r--r-- 1 runner docker   56 Apr  7 12:52 terraform.tfvars
-rw-r--r-- 1 runner docker 2020 Apr  7 12:52 variables.tf

./modules:
total 16
drwxr-xr-x 3 runner docker 4096 Apr  7 12:55 client_network
drwxr-xr-x 2 runner docker 4096 Apr  7 12:55 databases
drwxr-xr-x 2 runner docker 4096 Apr  7 12:55 storage
drwxr-xr-x 2 runner docker 4096 Apr  7 12:55 virtualmachines

额外注意事项

  • 模块路径引用:确保main-1.tf中模块的引用路径正确,比如改为./modules/client_network这类包含指定目录的路径。
  • 权限调整:如果Terraform执行时遇到模块目录权限问题,可添加步骤修正权限:
    - name: Fix Module Permissions
      run: chmod -R 755 modules
    
  • 私有仓库访问:若模块仓库是私有仓库,需在Checkout Modules步骤中添加token参数,使用具备仓库访问权限的GitHub Token:
    with:
      repository: myaccount/myrepo
      path: modules
      token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:32:51