我正在尝试在我的jenkins构建中使用docker来运行测试。我需要使用yarn
来安装依赖项。其中一些依赖项存在于私有github仓库中。将ssh密钥注入到生成的docker映像中的正确方法是什么?
我尝试将jenkins .ssh目录共享为一个没有运气的卷。
pipeline {
agent {
docker {
image 'circleci/node:8.12.0-stretch-browsers'
args '-v $HOME/.ssh:/.ssh'
}
}
// ...
}
我注意到在构建步骤中运行whoami
会导致以下结果:
whoami: cannot find name for user ID 988
运行echo $HOME
仅返回/
。
这似乎与我在基础Dockerfile中的 思想冲突。
**编辑
我发现jenkins正在以主机上的jenkins
用户身份启动它,而主机是988的来源。如果我将其更改为以circleci用户身份启动(3434),则会收到很多权限错误,因为该用户无权在共享卷中进行写入。不知道如何去做。