PHP Drone.io克隆问题

时间:2014-05-27 17:13:58

标签: php git github automated-tests build-automation

我正在尝试使用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告诉我密钥已经在使用中。任何有关如何进行的帮助将不胜感激。

1 个答案:

答案 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密钥可以克隆您帐户可访问的任何存储库。