0

状況:

  • プライベート 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 が所有するビルドで満たされています。では、なぜプロジェクトは正常に複製されるのに、依存関係は複製されないのでしょうか?

これを修正する最良の方法は何ですか?

4

1 に答える 1

0

よくあることですが、この質問を書くことで、私は自分で答えに出くわしました。

将来の読者のために検索を短縮するには:

私はやらなければなりませんでしたcd /var/www/phpci/PHPCI/build/<number>(最後の試行、ビルド10を選択しました)、そこで手動で実行sudo composer installしました。これも失敗しますが、生成できる github ページへのリンクが提供され、AUTH Tokenそれを貼り付け直すのを待ちます。認証トークンは /root/.composer に保存されるため、手動でのみ行う必要があります。一度。

于 2015-12-12T16:40:52.307 に答える