【问题标题】:How to access Git repository in jenkins on Docker如何在 Docker 上的 jenkins 中访问 Git 存储库
【发布时间】:2018-09-07 00:51:52
【问题描述】:

我有一个从官方 Jenkins 镜像创建的 Docker 容器。 我创建了一个从远程 Git 存储库中提取源的作业。用户使用 ssh 密钥进行身份验证。

我使用适用于 Windows 的 Docker 工具箱运行 Docker,并使用 Kitematic 来管理我的容器。 我将 /var/jenkins_home 绑定到我的 Windows 机器上的一个目录,以保存 Jenkins 配置和作业。

当我运行作业时,我总是收到此错误:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0555 for 
'/var/jenkins_home/workspace/test@tmp/ssh12345.key' are too open.
It is required that your private key files are NOT accessible by others.

似乎 Jenkins 将私钥临时存储在 /var/jenkins_home 下的文件中。该文件的权限是-r-xr-xr-x

但我无法更改它们。

chmod 600 ssh12345.key

没有效果。可能是因为它在挂载目录下。 我该如何解决这个问题?

【问题讨论】:

    标签: git docker jenkins private-key


    【解决方案1】:

    只有在 Powershell 中通过这种解决方法才能使用卷 /home/jenkins

    $Env:COMPOSE_CONVERT_WINDOWS_PATHS=1
    

    【讨论】:

    • 感谢您的提示。但是我需要如何使用它?我可以在 Kitematic 中将其设置为环境变量吗?还是我需要在运行容器之前在 CLI 中定义它?
    • 切换到 Linux 容器。接下来设置 $Env:COMPOSE_CONVERT_WINDOWS_PATHS=1 ,然后你应该使用 docker-compset 在 docker 中运行 jenkins,其中 volumes: - /home/jenkins:/home/jenkins
    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    相关资源
    最近更新 更多