0

デプロイ中に得たもの:

--> Updating Composer dependencies
....
** [out :: myproj] Could not fetch https://api.github.com/repos/mmoreramerino/GearmanBundle/zipball/e0fa6c06bc5c7a5aaddaf33d5b0595ce280f7538, enter your GitHub credentials to access private repos
** [out :: myproj] The credentials will be swapped for an OAuth token stored in /website_dir/.composer/config.json, your password will not be stored
** [out :: myproj] To revoke access to this token you can visit https://github.com/settings/applications
** [out :: myproj] Username:

他のすべてのリポジトリは正常にダウンロードされます。このステップでは、ユーザー名を入力できません..入力したくありません)

composer.json の依存関係:

"Mmoreramerino/GearmanBundle": "dev-development",

編集:問題はコンポーザにありません。問題は、デプロイ後に composer update を実行する capistrano にあります。

私は本番サーバーを持っています。次のようにアクセスできます。

$ ssh -A my_server

そして、このレポを手動で複製できます。このようにして、本番サーバーでキーを使用するためです。

今、私は capistrano の deploy.rb を持っています:

ssh_options[:keys] =            %w(~/.ssh/id_rsa.pub)
ssh_options[:forward_agent] =   true

したがって、デプロイでは、このキーで私のキーを使用する必要があります。

しかし、カピストラーノのステップで作曲家の更新にエラーが発生しました。

編集2

$ ps aux | grep "ssh-agent"
dmitry    1772  0.0  0.0  73444   452 ?        Ss   09:25   0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "startxfce4"
dmitry   18541  0.0  0.0 109184   884 pts/0    S+   17:25   0:00 grep --color=auto ssh-agent
4

2 に答える 2

3

composer でプライベート GitHub リポジトリーを使用する

HTTP 認証

明らかな理由により、http認証資格情報をcomposer.jsonのリポジトリURLに追加します(推奨されません)...

"repositories": [
{
    "type":"vcs", 
    "url": "https://username:password@github.com/username/repository"
}

SSH キー認証

... または、公開鍵を github に登録して、公開鍵認証を使用してプライベート リポジトリにアクセスします。以下を使用して、composer がこの公開/秘密鍵ペアを使用するようにします。

"repositories": [
{
    "type":"vcs", 
    "url": "github.com:username/repository.git",
    "options": {
        "ssh2": {
            "username": "git"
            "pubkey_file": "/home/composer/.ssh/id_rsa.pub",
            "privkey_file": "/home/composer/.ssh/id_rsa"
         }
    }
}

...または(最良の解決策)、公開鍵を~/.ssh/config

Host github
  User git
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa
于 2013-06-25T12:42:13.423 に答える