状況:
- プライベート github リポジトリに symfony2 プロジェクトがあります。
このプロジェクトにはベンダーの依存関係があり、そのうちの 1 つは別のプライベート リポジトリにあります。私はこのリポジトリを所有していませんが、寄稿者であり、読み取り/書き込みができます。次の方法で composer を使用してプロジェクトに追加します。
"repositories": [{ "type": "vcs", "url": "git@github.com:company/dependency.git" }], "require": {"company/dependency": "~1.0"}
PHPCI テスト サーバーをセットアップし、メイン プロジェクトを追加し、cron ジョブをセットアップしました。すべて「マニュアルに従って」実行しました。
- このサーバー (/root/.ssh) で 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 git@github.com:company/dependency.git repository,
try running in interactive mode so that you can enter your GitHub credentials
[RuntimeException]
Failed to execute git clone --mirror 'git@github.com:company/dependency.git' '/root/.composer/cache/vcs/git-github.com-company-dependency.git/'
そのため、認証の問題により、ベンダーの依存関係を取得できません。しかし、これもプライベート リポジトリにあるメイン プロジェクトは、PHPCI によって問題なく複製されています。
cronjob と composer は root として実行されており、/var/www/phpci/PHPCI/build
フォルダーは root が所有するビルドで満たされています。では、なぜプロジェクトは正常に複製されるのに、依存関係は複製されないのでしょうか?
これを修正する最良の方法は何ですか?