gpt4 book ai didi

node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos

转载 作者:搜寻专家 更新时间:2023-10-31 23:40:35 25 4
gpt4 key购买 nike

我正在设置一个 Docker 容器,作为该过程的一部分,它将从 GitHub pull 私有(private)存储库。目前,我正在使用从命令行传递的 Access Token(一旦通过 Jenkins 触发构建,就会发生变化)。

docker build -t my-container --build-arg GITHUB_API_TOKEN=123456 .

# Dockerfile
# Env Vars
ARG GITHUB_API_TOKEN
ENV GITHUB_API_TOKEN=${GITHUB_API_TOKEN}

RUN git clone https://${GITHUB_API_TOKEN}@github.com/org/my-repo

这工作正常,似乎是一种安全的方式? (尽管需要检查仅在构建时可用的 var GITHUB_API_TOKEN)

我想了解人们在运行 npm install 和从 github pull 依赖项时如何处理 ssh key 或访问 token

"devDependencies": {
"my-repo": "git@github.com:org/my-repo.git",
"electron": "^1.7.4"
}

目前我无法提取此 repo,因为我收到错误 Please make sure you have the correct access rights 因为我没有在此容器中设置 ssh key

最佳答案

使用 multi-stage build 方法。

您的 Dockerfile 应如下所示:

FROM alpine/git as base_clone
ARG GITHUB_API_TOKEN
WORKDIR /opt
RUN git clone https://${GITHUB_API_TOKEN}@github.com/org/my-repo

FROM <whatever>
COPY --from=base_clone /opt/my-repo /opt
...
...
...

构建:

docker build -t my-container --build-arg GITHUB_API_TOKEN=123456 .

Github API token secret 不会出现在最终图像中。

关于node.js - 通过 npm install 在 Docker 容器中访问私有(private) git repos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45163726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com