als*_*air 6 git github jenkins openshift access
我是詹金斯和Openshift的新手,所以有点紧张.
我已经设置了Jenkins,并将其指向我的github仓库,但它无法克隆它,因为我找不到任何地方存储我的git凭据,当我进入jenkins框时,我无法访问〜/ .ssh创建新密钥或找到那些密钥.另一个问题也可能是我的git repo是私有的.
我试过谷歌,但我找不到任何东西.我如何允许Jenkins访问我的私人git仓库?
编辑:确定我在管理中找到,然后配置用户名和电子邮件的地方.然后我有ssh'd,并使用ssh-keygen在.openshift_ssh中创建ssh密钥并将其添加到github,首先作为普通的ssh密钥,然后作为部署密钥,然后在app-root/data中相同/.ssh但仍然没有
您可以尝试并使用RamziMaâlej的 " 使用Openshift Jenkins实例构建一个在Github上托管的项目 ".
确保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
Run Code Online (Sandbox Code Playgroud)
部署$OPENSHIFT_DATA_DIR/git-ssh/id_rsa.pub到您的GitHub帐户
创建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
Run Code Online (Sandbox Code Playgroud)
别忘了让它可执行: 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.
Run Code Online (Sandbox Code Playgroud)
最后,配置Jenkins:
转到
Manage Jenkins > Configure System > Global Properties并创建一个名为的新环境变量GIT_SSH,该变量指的是您创建包装器的位置.
| 归档时间: |
|
| 查看次数: |
709 次 |
| 最近记录: |