2012-09-11 1 views
7

私はSymfony 2.1プロジェクトを持っており、コンポーザー経由で追加のバンドルがインストールされています。運用サーバーに展開したいのですが、composer.jsonファイルの内容を変更する必要があるのでしょうか?ここに私の現在のファイルの内容は次のとおりです。私のcomposer.jsonファイルはプロダクション環境でどのように見えるのですか?

{ 
    "name": "symfony/framework-standard-edition", 
    "description": "The \"Symfony Standard Edition\" distribution", 
    "autoload": { 
     "psr-0": { "": "src/" } 
    }, 
    "require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.1.1", 
     "doctrine/orm": ">=2.2.3,<2.4-dev", 
     "doctrine/doctrine-bundle": "1.0.*", 
     "twig/extensions": "1.0.*", 
     "symfony/assetic-bundle": "2.1.*", 
     "symfony/swiftmailer-bundle": "2.1.*", 
     "symfony/monolog-bundle": "2.1.*", 
     "sensio/distribution-bundle": "2.1.*", 
     "sensio/framework-extra-bundle": "2.1.*", 
     "sensio/generator-bundle": "2.1.*", 
     "jms/security-extra-bundle": "1.2.*", 
     "jms/di-extra-bundle": "1.1.*", 

     "friendsofsymfony/user-bundle": "*", 
     "knplabs/knp-paginator-bundle": "dev-master", 
     "ornicar/gravatar-bundle": "dev-master", 
     "liip/url-auto-converter-bundle": "dev-master" 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ], 
     "post-update-cmd": [ 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
      "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
     ] 
    }, 
    "config": { 
     "bin-dir": "bin" 
    }, 
    "minimum-stability": "dev", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web" 
    } 
} 

私はminimum-stability設定を変更する必要がありますか?

ワイルドカードまたは「dev-master」なしで、すべての要件を単一のバージョンに修正する必要がありますか?

私はhttp://packagist.org/の各依存関係の最後の安定版を検索する予定ですか?

答えて

11

私は最も重要なのはあなたのcomposer.lockであり、それほどcomposer.jsonではないと思います。

テストサーバーphp composer.phar installにアプリケーションをデプロイし、テストを実行してすべてが正常であることを確認します。それが本当に問題ない場合は、単にcomposer.lockと一緒に運用サーバーにデプロイしてください。

このようにして、あなたのデープはあなたのテストサーバーと同じです。これは、フロントサーバが複数ある場合にも便利です。composer.lockは、誰もがまったく同じコードを使用するようにします。

あなたは

は、私は、ワイルドカード、または「DEV-マスター」せずに、単一のバージョンにすべての要件を修正すべきだと述べ?

これは、すべてを「修正」するためのcomposer.lockの役割です。 composer.jsonは、依存関係を宣言し、バージョン間の互換性を処理することについてです。デフォルトでは、開発ブランチに新機能が必要な場合や、まだマージされていないバグフィックスが必要な場合を除き、安定版を使用してください。

したがって、composer.lockをバージョンアップすると自動展開が簡単になります。

+0

偉大な答えですが、あなたは "あなたのアプリを展開する"ステップを詳しく説明できますか?どの作曲家ファイルが必要ですか?明らかに.pharと.lockファイル。私はまだcomposer.jsonが必要ですか? composer_installer.phpはどうですか? –

+1

@BenjaminBrizziまあ、私はもっと "あなたのアプリを展開する"ことはできません。 Composerは、アプリケーション自体ではなく、依存関係のみを処理します。通常、 "あなたのアプリをデプロイする"は 'git clone 'になることができます。 depsリストを含んでいるので、 'composer.json'が必要です。 'composer.lock'はあなたがインストールしたいバージョンだけを指定します。私はcomposer_installer.phpが何であるか分からない。 –

関連する問題