mmv*_*vie 5 git ssh match jenkins fastlane
现有解决方案
在问我的问题之前,我已经广泛搜索了 SO 和 Github。现有主题都没有为我们的设置提供任何可行的解决方案。
配置
我们在远程 macOS 机器上配置了 Jenkins + Fastlane。Fastlane 匹配应该通过 SSH 从专用存储库获取签名凭据(证书 + 配置文件)。
问题
SSH 连接失败(挂起)。詹金斯控制台输出:
INFO [2019-04-09 14:09:29.05]: Cloning remote git repo...
INFO [2019-04-09 14:09:29.05]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
INFO [2019-04-09 14:09:29.05]: [36m$ git clone ssh://git@xxx.xx.x.xxx:xxxx/cert/ios-certificates-profiles.git /var/folders/_redacted_[0m
INFO [2019-04-09 14:09:29.07]: ? [35mCloning into '/var/folders/_redacted_'...[0m
INFO [2019-04-09 14:09:29.19]: ? [35mThe authenticity of host '[xxx.xx.x.xxx:xxxx]:xxxx ([xxx.xx.x.xxx:xxxx]:xxxx)' can't be established.[0m
INFO [2019-04-09 14:09:29.19]: ? [35mRSA key fingerprint is _REDACTED_.
Run Code Online (Sandbox Code Playgroud)
在同一台机器上从终端运行“git clone ssh://git@xxx.xx.x.xxx:xxxx/...”命令:
詹金斯仍然坚持使用 fastlane match 命令。任何想法为什么 Jenkins 无法通过 SSH 连接到存储库?我错过了什么?
编辑
将clone_branch_directly选项添加到匹配命令没有任何效果,命令仍然挂起。
首先尝试在变量GIT_SSH_COMMAND设置为“ ssh -vvv”的环境中启动 Jenkins 的相同操作:当 Git 尝试使用 SSH URL 进行克隆时,它将为您提供完整的跟踪。
向 SSH 添加详细日志记录显示 Jenkins 以
sudo.
运行詹金斯不作为须藤和指向正确的SSH密钥解决了这个问题。
其他可能性:
fastlane 问题 5473提到了 known_hosts 问题,但如果已经添加了远程服务器指纹(假设您的 Jenkins 使用与您自己的 shell 会话相同的帐户运行),则检查您的私钥是否受密码保护:
FWIW,当我
ssh-add -D然后运行fastlane certs(运行匹配)时,我得到完全相同的行为。它挂在“克隆远程 git repo...”上,这是预期的行为。'ssh-add' 解决问题。
想通了......在一个新盒子上并且没有将我的密钥添加到ssh-agent。
Run Code Online (Sandbox Code Playgroud)ssh-add -K ~/.ssh/id_rsa
其他可能性:fastlane 问题 11732:
我也在 CircleCi 2.0 上遇到了这个问题
在我的 Circle 2.0 环境配置中设置它有帮助
environment:
TERM: xterm-256color
Run Code Online (Sandbox Code Playgroud)
因此,请检查您的$TERM环境变量值。
| 归档时间: |
|
| 查看次数: |
6708 次 |
| 最近记录: |