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

如何使用GitHub Actions在容器内部执行代码?

解决GitHub Actions容器内执行index.js找不到文件的问题

你的问题核心是当前工作目录与容器内置index.js的路径不匹配:GitHub Actions默认会将仓库代码挂载到容器的/github/workspace目录,而你的index.js是容器自带的,不在这个默认路径下,因此出现找不到文件的错误。以下是具体解决方法:

步骤1:定位容器内index.js的绝对路径

先在Actions步骤中添加查找命令,确认文件的具体位置:

run-integration-test:
  runs-on: ubuntu-latest
  container:
    image: image.com:latest  # 注意:原配置的http://前缀要去掉,Docker镜像地址不需要HTTP协议
  steps:
    - run: find / -name index.js

运行该任务后,查看日志输出的路径(比如可能是/app/index.js)。

步骤2:指定路径运行index.js

根据查到的路径,选择以下任意一种方式执行:

方式一:使用绝对路径直接运行

run-integration-test:
  runs-on: ubuntu-latest
  container:
    image: image.com:latest
  steps:
    - run: node /app/index.js  # 替换成你查到的实际绝对路径

方式二:切换到文件所在目录后运行

run-integration-test:
  runs-on: ubuntu-latest
  container:
    image: image.com:latest
  steps:
    - run: |
        cd /app  # 替换成文件所在目录
        node index.js

方式三:配置容器默认工作目录

直接在container配置中指定工作目录,后续run步骤默认会在该目录下执行:

run-integration-test:
  runs-on: ubuntu-latest
  container:
    image: image.com:latest
    working-directory: /app  # 替换成index.js所在的目录
  steps:
    - run: node index.js

额外注意:原配置中image: http://image.com:latest的写法错误,Docker镜像地址不需要加http://前缀,直接写image.com:latest即可,否则会导致镜像拉取失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:01:06