小编Vig*_*nte的帖子

将 ssh-agent 传递给 dockerfile 以安装私有存储库模块

我正在尝试在 Jenkins 管道中自动化 docker 构建。在我的 dockerfile 中,我基本上构建了一个节点应用程序。在我的 npm 安装中,我有一些需要操作系统绑定的私有 git 存储库,因此必须安装在容器中。当我手动运行此命令时,我将 ssh 密钥 (id_rsa) 传输到用于执行 npm 安装的 dockerfile。现在,我的问题是在 jenkins 管道中运行此任务时,我将配置 ssh-agent(Jenkins 插件)。无法从 ssh-agent 中提取私钥。我应该如何将我的 ssh-agent 传递到我的 dockerfile。

编辑1:

我通过这个部分地工作了:

Docker Build Command:
DOCKER_BUILDKIT=1 docker build --no-cache -t $DOCKER_REGISTRY_URL/$IMAGE_NAME:v$BUILD_NUMBER --ssh default . &&
Run Code Online (Sandbox Code Playgroud)

然后在 Docker 文件中:

这工作正常:

RUN --mount=type=ssh GIT_SSH_COMMAND="ssh -vvvT -o StrictHostKeyChecking=no" 
git clone git@github.com:****
Run Code Online (Sandbox Code Playgroud)

奇怪的是这不起作用:

RUN --mount=type=ssh GIT_SSH_COMMAND="ssh -vvvT -o StrictHostKeyChecking=no" npm install git+ssh//git@github.com:****
Run Code Online (Sandbox Code Playgroud)

我觉得这与StrictHostKeyChecking=no

npm jenkins docker

3
推荐指数
1
解决办法
2264
查看次数

标签 统计

docker ×1

jenkins ×1

npm ×1