zio*_*lek 10 macos continuous-integration bots osx-server xcode5
我已经在我的Mac上安装了os x server(Mavericks)并想添加bot.由于某些原因,我的远程仓库位于其他外部服务器上,我可以通过指定端口上的用户名和密码访问它.我已将远程仓库添加到os x服务器,如下所示:
SSH://1.2.3.4:PORT /路径/到/ repo.git
...填写用户名和密码.
然后我在Xcode中添加了bot,但是当我点击集成时,它会失败并显示日志:
克隆到'ssh_myusername_1_2_3_4_PORT_path_to_repo_git'...
OpenSSH_6.2p2,OSSLShim 0.9.8r 2011年12月8日debug1:阅读
配置数据/ etc/ssh_config debug1:/ etc/ssh_config第20行:
应用*debug1的选项:连接到1.2.3.4 [1.2.3.4]端口PORT.
debug1:已建立连接.
无法创建目录'/var/teamsserver/.ssh'.
debug1:标识文件/var/teamsserver/.ssh/id_rsa类型-1
debug1:标识文件/var/teamsserver/.ssh/id_rsa-cert类型-1
debug1:身份文件/var/teamsserver/.ssh/id_dsa类型-1
debug1:标识文件/var/teamsserver/.ssh/id_dsa-cert类型-1
debug1:为协议2.0启用兼容模式
debug1:本地版本字符串SSH-2.0-OpenSSH_6.2
debug1:远程协议版本2.0,远程软件版本OpenSSH_6.0p1 Debian-3ubuntu1
debug1:match:OpenSSH_6.0p1 Debian-3ubuntu1 pat OpenSSH*
debug1:发送SSH2_MSG_KEXINIT
debug1:收到SSH2_MSG_KEXINIT
debug1:kex:server-> client aes128-ctr hmac-md5 none
debug1:kex:client-> server aes128-ctr hmac-md5 none
debug1:发送SSH2_MSG_KEX_DH_GEX_REQUEST(1024 <1024 <8192)
debug1:期待SSH2_MSG_KEX_DH_GEX_GROUP
debug1:发送SSH2_MSG_KEX_DH_GEX_INIT
debug1:期待SSH2_MSG_KEX_DH_GEX_REPLY
debug1:服务器主机密钥:RSA b6:b8:0e:e4:25:63:6d:64:a3:d6:6d:7f:46:85:72:0d
debug1:没有端口标识符的检查没有RSA主机密钥[1.2.3.4]:PORT,你已经请求严格检查.主机密钥验证失败.
致命:无法从远程存储库读取.
请确保您具有正确的访问权限并且存储库存在.
SSH Known Hosts文件路径位于/ Library/Server/Xcode/Config/ssh_known_hosts
启用SSH严格主机检查(您可以通过编辑来禁用它
/Library/Server/Xcode/Config/xcsbuildd.plist中的SSHStrictHostKeyChecking键
禁用不受信任的HTTPS证书(您可以通过编辑来启用此证书
/Sibrary/Server/Xcode/Config/xcsbuildd.plist中的TrustSelfSignedSSLCertificates键
我假设权限有问题,但在我的/ var中有一些具有不同权限的目录,当然没有团队服务器文件夹......
所以我不知道如何设置适当的权限(不更改/ var ...的其他子目录的权限).我可以尝试手动制作目录"团队服务器",但不知道具有什么权限......?你有什么想法?
编辑:为了测试目的,我用777创建了teamsserver目录,但这并没有解决我的问题.日志看起来和以前一样但只是没有线:
无法创建目录'/var/teamsserver/.ssh'.
有任何想法吗?
谢谢
小智 8
尝试针对受ssh密钥对保护的github repo运行git命令时,我遇到了类似于scheme action构建脚本的问题.
Bots使用_teamsserver系统帐户运行构建.正如您所发现的,默认情况下这些帐户没有主目录.要设置构建以访问和修改其主目录,我已成功完成以下操作(您的里程可能会有所不同):
sudo mkdir /var/teamsserver
sudo chown -R _teamsserver:_teamsserver /var/teamsserver/
sudo chmod -R 770 /var/teamsserver/
Run Code Online (Sandbox Code Playgroud)
HTH
好的,我花了一些时间,但我有一个解决方案......实际上有两个解决方案.羞于承认,但阅读和理解日志足以解决问题(再次:P).
第一个答案:
在安装os x server之前,我的服务器主机密钥已添加到.ssh/known_hosts.服务器不使用已知主机的路径.日志说服务器使用:
SSH Known Hosts文件路径位于/ Library/Server/Xcode/Config/ssh_known_hosts
那个文件在我的情况下是空的.因此,要解决此问题,将known_hosts复制到ssh_known_hosts就足够了:
sudo cp ~/.ssh/known_hosts /Library/Server/Xcode/Config/ssh_known_hosts
Run Code Online (Sandbox Code Playgroud)
就这么简单.
第二回答:
再次记录日志
启用SSH严格主机检查(您可以通过编辑/Library/Server/Xcode/Config/xcsbuildd.plist中的SSHStrictHostKeyChecking键来禁用它
将SSHStrictHostKeyChecking更改为false.
它再次完成.
| 归档时间: |
|
| 查看次数: |
4092 次 |
| 最近记录: |