- 我有一個私人github上存儲庫的Symfony2項目。
此項目具有供應商依賴關係,其中一個位於不同的私有存儲庫中。我不擁有這個回購,但我是貢獻者,可以讀/寫。 「根據手冊」
"repositories": [{ "type": "vcs", "url": "[email protected]:company/dependency.git" }], "require": {"company/dependency": "~1.0"}
我已經建立了PHPCI我的測試服務器,增加了主體工程,建立一個cron作業,所有的:它被添加到下面的方式使用作曲家項目。
- 我在此服務器上生成了一個SSH密鑰(位於/root/.ssh),並將密鑰添加到了我的個人github帳戶。
- 作爲root用戶,我可以手動克隆此測試服務器上的主項目存儲庫和依賴庫。
但在PHPCI運行構建的時候,我得到以下信息:
Cloning into '/var/www/phpci/PHPCI/build/10'...
Working copy created:/
RUNNING PLUGIN: composer
Using --prefer-source flag
Loading composer repositories with package information
Failed to clone the [email protected]:company/dependency.git repository,
try running in interactive mode so that you can enter your GitHub credentials
[RuntimeException]
Failed to execute git clone --mirror '[email protected]:company/dependency.git' '/root/.composer/cache/vcs/git-github.com-company-dependency.git/'
所以供應商的依賴,不能因身份驗證問題檢索。但是,主要項目,也在私人存儲庫中,正在克隆,沒有任何問題由PHPCI。
cronjob和composer以root身份運行,/var/www/phpci/PHPCI/build
文件夾中充滿了由root擁有的構建。那麼爲什麼它成功地克隆了項目,而不是依賴關係?
什麼是解決這個問題的最好方法?