Openshift上的Jenkins无法克隆回购

时间:2016-05-10 21:06:32

标签: git github jenkins openshift access

我是詹金斯和Openshift的新手,所以有点紧张。

我已经设置了Jenkins,并将其指向我的github仓库,但它无法克隆它因为我找不到任何地方存储我的git凭据,当我ssh进入jenkins框我无法访问〜 /.ssh创建新密钥或找到那里的密钥。另一个问题也可能是我的git repo是私有的。

我试过谷歌,但我找不到任何东西。我如何允许Jenkins访问我的私人git仓库?

编辑:确定我在管理中找到了,然后为用户名和电子邮件配置了一个位置。然后我有ssh'd,并使用ssh-keygen在.openshift_ssh中创建ssh密钥并将其添加到github,首先作为普通的ssh密钥,然后作为部署密钥,然后在app-root / data中相同/.ssh但仍然没有

2 个答案:

答案 0 :(得分:5)

您可以尝试并遵循RamziMaâlej的“Building a project hosted on Github using an Openshift Jenkins instance ”。

确保Openshift不授予Jenkins实例上的多个文件夹的写入权限,例如:.ssh.m2。 (或者ssh无论如何都不会起作用,因为文件夹上的权利“过于宽容”) 仅这一点可能是你问题的根源,但如果这还不够,请继续阅读。

然后:

rhc ssh buildserver
mkdir app-root/data/git-ssh
ssh-keygen -t rsa -b 4096 -C "youremail@yourdomain.com" -f $OPENSHIFT_DATA_DIR/git-ssh/id_rsa

$OPENSHIFT_DATA_DIR/git-ssh/id_rsa.pub部署到your GitHub account

创建执行以下操作的脚本ssh-wrapper.sh

#!/bin/bash

ID_RSA="$OPENSHIFT_DATA_DIR/git-ssh/id_rsa"
KNOWN_HOSTS="$OPENSHIFT_DATA_DIR/git-ssh/known_hosts"

ssh -o UserKnownHostsFile=$KNOWN_HOSTS -i $ID_RSA $1 $2

不要忘记将其设为可执行文件:chmod +x ssh-wrapper.sh

测试它:

 ./ssh-wrapper.sh -T git@github.com
Hi Jenkins! You've successfully authenticated, but GitHub does not provide shell access.

最后,配置Jenkins:

  

转到Manage Jenkins > Configure System > Global Properties并创建一个名为GIT_SSH的新环境变量,该变量引用您创建包装器的位置。

答案 1 :(得分:0)

SSH进入Jenkins应用程序并使用$OPENSHIFT_DATA_DIR/.ssh/jenkins_id_rsa.pub中包含的公钥作为Github / Gitlab / Bitbucket部署密钥。