【问题标题】:Pulling private github repo set as dependency in package.json within docker generated failing in github actions将私有 github 存储库设置为 docker 中 package.json 中的依赖项在 github 操作中生成失败
【发布时间】:2021-03-24 00:40:52
【问题描述】:

预期行为:
触发 Github 操作管道,然后继续从 dockerfile 构建 docker 映像。
此 dockerfile 包含一个 npm install 步骤,用于安装 package.json 文件中列出的所需包。
其中一个依赖项是私有 github 存储库,因此需要使用以下格式:

"packageName": "git+https://<auth token>:x-oauth-basic@github.com/orgName/packageName.git"

它应该安装没有任何问题,并继续 dockerfile 构建过程
问题:
dockerfile 在本地构建没有问题,但是当我尝试使用 github 操作构建它时,它会输出以下错误:

npm ERR! code 128
npm ERR! command failed
npm ERR! command git ls-remote ssh://git@github.com/orgName/packageName.git
npm ERR! error: cannot run ssh: No such file or directory
npm ERR! fatal: unable to fork

注意事项:
整个 docker 镜像构建过程在本地运行没有问题,所以我真的不认为这是一个 docker 问题,而更像是一个 github 限制问题

【问题讨论】:

    标签: git docker github package.json github-actions


    【解决方案1】:

    如果这在本地有效,请检查您的本地 git config -l 是否包含任何 insteadOf 指令,例如:

    git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/".insteadOf "ssh://git@github.com/"
    

    如果是这样,请检查您的 GitHub 工作流程以包含该配置,例如 mvdan/github-actions-golang

    可以从私有 GitHub 存储库安装模块,而无需使用您自己的代理。
    您需要添加一个personal access token 作为秘密环境变量。

    - name: Configure git for private modules
     env:
       TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
     run: git config --global url."https://YOUR_GITHUB_USERNAME:${TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
    

    【讨论】:

    • 我尝试了这些,但它们并没有影响结果,我的意思是在本地构建 docker,所以在这种情况下,docker 不应该提供一致的环境,因为我使用的是相同的图像和命令在本地 docker build 和 github 操作中?
    • 还有一点需要注意的是,在 github 操作的日志中,github 通常会使用 *** 审查详细信息,因此在我的情况下,它会将命令审查为 ``url."***github。 com/ ``所以我不确定这是否与问题有关。(在原始 git 配置中没有 insteadOf)
    • @charbelk 你能测试一下github.com/oznu/docker-homebridge/issues/…吗?可能 GitHub Action 中使用的 docker 版本和你电脑上的不一样? (github.com/aframevr/aframe/issues/2771#issuecomment-308652143) 或者缓存问题 (github.com/aframevr/aframe/issues/2771#issuecomment-308831139)
    猜你喜欢
    • 2014-06-06
    • 2015-04-28
    • 2017-03-29
    • 2021-03-17
    • 2016-03-18
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多