3

そこで、Composer を実行するチェックアウト後のフックをサーバーにセットアップしました。

#!/bin/sh
# Composer Git Checkout Hook

PROJECT_NAME=example.com

cd /home/www/$PROJECT_NAME/htdocs

unset GIT_DIR

# Process composer.json if one exists.
if [ -f composer.json ]
then
    echo "Processing Composer"

    # Run the composer install
    composer.phar install
fi

展開すると動作します。ただし、新しいサーバーであり、cURL モジュールを有効にするのを忘れていたため、インストールは失敗しますが、プッシュは受け入れられます。

$ git push deploy master

Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 348 bytes, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Processing Composer
remote: Loading composer repositories with package information
remote: Installing dependencies from lock file
remote: Your requirements could not be resolved to an installable set of packages.
remote: 
remote:   Problem 1
remote:     - Installation request for facebook/php-sdk dev-master -> satisfiable by facebook/php-sdk dev-master.
remote:     - facebook/php-sdk dev-master requires ext-curl * -> the requested PHP extension curl is missing from your system.
remote: 
To ssh://adam@my-server.net/home/www/example.com/git
   0fa8a61..afa63ae  master -> master

Composer のインストールのステータスを取得して終了し、リモート リポジトリがプッシュを拒否するようにするにはどうすればよいですか?

4

1 に答える 1