从主机将ssh密钥注入到詹金斯生成的docker映像中

时间:2019-05-23 18:41:07

标签: docker jenkins jenkins-pipeline jenkins-docker

我正在尝试在我的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中的 思想冲突。

https://github.com/circleci/circleci-images/blob/staging/shared/images/Dockerfile-basic.template#L82-L85

**编辑

我发现jenkins正在以主机上的jenkins用户身份启动它,而主机是988的来源。如果我将其更改为以circleci用户身份启动(3434),则会收到很多权限错误,因为该用户无权在共享卷中进行写入。不知道如何去做。

0 个答案:

没有答案