2017-07-02 7 views
1

に設定しましたthis tutorialに続いて、ec2インスタンスにgitデプロイメントプロセスを設定しました。gitデプロイメントプロセスをec2

コンフィグファイルに~/.ssh/ホストのec2マシンにssh'ingのすべての手順を注意深く行った。裸のgit repoを作成する。 post-receiveフックスクリプトを追加するなど。

ローカルでは、私はいくつかの変更を行います。
次に、ec2リポジトリにgit remote add deploy ec2:/home/ec2-user/ab-siteを追加しました(ab-siteは私がちょうど初期化した裸のgit repoです - ec2~/.ssh/configファイルにローカルに設定したsshエイリアスです)。

私はgit push deploy +master:refs/heads/master

にプッシュする行くときしかし、私はエラーの束を取得します。

warning: core.bare and core.worktree do not make sense remote: 
warning: core.bare and core.worktree do not make sense remote: error: 
insufficient permission for adding an object to repository database 
./objects remote: fatal: failed to write object error: unpack failed: 
unpack-objects abnormal exit 

私はこれを修正するために次に見なければならないことが何であるか不思議です。

+0

をアンパック・オブジェクト - この部分をのエラーメッセージが表示されます。 ec2ユーザ(この場合はおそらく 'ubuntu')にリポジトリへの書き込み権限があることを確認することから始めます。 –

答えて

0

core.bare and core.worktree do not make sense

警告は、since Git 2.5+, is fixableです。この警告がリモート側にある場合は、core.bareがtrueに設定され、worktreeも同様に設定されていることを意味します。

通常の修正は、その後、あなたがアクセス許可の問題を再確認することができますgit config --unset core.worktreeですが、あなたのケースでは、from that comment

with bare=false it works OK.

+1

これを私が理解しているのは、私が「裸の」git repoを作成していたということでした。私の目標は私のウェブサイトを自分のサーバーにプッシュし、プッシュ受信フックでデプロイメントスクリプトを実行することなので、これは理にかなっているようです。しかし今、私は裸に等しい裸を設定する必要がありますか?確かに、私はアドバイスを取ることができますが、私は理由の理解がありません。 –

+0

@AlexBollbach私は同意する:代わりにワーク・ツリーを解除し、裸の性質を保つだろう。 Git 2.3以降、https://stackoverflow.com/a/44406425/6309で言及しているように、あまりにも裸のreposをプッシュすることができます(リンクを参照) – VonC

0

あなたの問題は、警告やエラー

  1. 警告警告

    のが含まれていますcore.bareとcore.worktreeは、リモート意味をなさない: 警告:core.bareとcore.worktreeはしないでくださいリモート・センスを行います。エラー:

ソリューション

ベアリポジトリは読み取り専用リポジトリです。 bare repoの最も一般的な使用例は、リモートの中央Gitリポジトリを作成することです。

gitは "fatal:core.bare and core.worktree do not make sense"というエラーメッセージを表示します。したがって、repoの設定ファイルにbare = falseを設定する必要があります。

cd barerepo 
git config --bool core.bare false 
git config --path core.worktree /var/www/mywork 
リポジトリデータベース

にオブジェクトを追加するため

不足許可の

  • エラー。致命的:オブジェクトエラーを書き込むことができませんでした:/は、リモートオブジェクト解凍失敗しました:「リポジトリ・データベースにオブジェクトを追加するための十分な権限が」異常終了を

  • ソリューション

    cd repository/.git 
    
    sudo chmod -R g+ws * 
    sudo chgrp -R mygroup * 
    
    git config core.sharedRepository true 
    
    関連する問題