我正在尝试使用Drone.io来自动化我们的测试过程。
我正在尝试将它用于两个私有项目 - 工具集和应用程序。
该工具集运行良好。单元测试运行,一切都运行良好。
另一方面,应用程序正确克隆,但需要工具集作为依赖项,并尝试从github克隆它。这两个都是私人回购。
现在我的.drone.yml
文件中有以下行。
script:
- git clone --mirror 'git@github.com:fakename/fakeproject.git'
会产生以下错误。请注意,更改回购站的名称是为了保护我的雇主。
$ git clone --mirror 'git@github.com:fakename/fakeproject.git' '/home/ubuntu/.composer/cache/vcs/fakename-github.com-fakename-fakeproject.git/'
Cloning into bare repository '/home/ubuntu/.composer/cache/vcs/fakename-github.com-fakename-fakeproject.git'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
我不想在.drone.yml
中放置凭据,我尝试将我们的Drone.io安装的ssh-rsa添加到我的github帐户,但github告诉我密钥已经在使用中。任何有关如何进行的帮助将不胜感激。
答案 0 :(得分:1)
编辑原始答案适用于无人机0.3,它使用SSH密钥克隆您的存储库。版本0.4及更高版本将oauth令牌写入.netrc文件以授权所有git + https操作。这意味着只要您使用git + https而不是git + ssh
,无人机即可克隆私有存储库。在这种情况下,您需要1)从GitHub中的存储库中删除ssh密钥,2)在GitHub(https://github.com/settings/ssh)中的用户帐户级别添加SSH密钥。用户帐户级别的ssh密钥可以克隆您帐户可访问的任何存储库。