0

Capistranoを使用してPHPアプリのデプロイを開始しようとしています。デプロイする場所に応じて「編集」する必要のある2つの構成ファイルがあります。これは、データベース名やルートURL(Codeigniter)などの基本的なものです。Capistrano編集を自動的に指定することはできますか?ファイル/system/config/edit.phpで以下を編集するとします。

$test = '';
// edit to
$test = 'Hello World';

ありがとう、マックス

4

2 に答える 2

5

この種の状況で私が通常行っていることは (私は Capistrano を使用していませんが)、いくつかの構成ファイルをソース管理にコミットすることです。

例えば ​​:

  • config.php開発機用
    • このファイルは、アプリケーションによって常に使用されるファイルです
  • config.testing.php
  • config.staging.php
  • config.production.php

アプリケーションをサーバーにデプロイするときは、現在の環境に対応するファイルを " " にコピーするだけconfig.phpです。これは、アプリケーションが常に使用するファイルだからです。

これは、ビルド プロセス中にファイル コピーを実行する必要があることを意味します。

  • つまり、壊れる可能性のある検索と置換の必要がないことを意味します
  • また、すべての構成ファイルが SVN (または使用しているソース管理ソフトウェア)にコミットされていることも意味します。


構成ファイルが複雑になりすぎて、多くのものが重複する場合は、常に含まれる「デフォルト」の構成ファイルと、環境に依存するものだけを定義するサブ構成ファイルを持つことを考えることができます。

それは、私が前に言ったことはまだ立っています:「デフォルト」ファイルを互いの先頭に含めるだけです。

于 2009-09-20T16:44:55.230 に答える
0

私の Unix の知識はゼロに達していないので、あなたが望むものに完璧な構文を得ることができません。ただし、Capistrano では、configs内で:run_methodを呼び出すことにより、Unix コマンドラインを直接使用できます。

Capistrano コードは次のようになります。

run "grep -R --files-with-matches '$test = "";' /system/config/ | xargs perl -pi~ -e 's/\$test = "";/$test = "Hello World";/'"

ただし、ライブで実装する前に、その検索と置換機能が期待どおりに機能することを確認します。

さらにヘルプが必要な場合は、Capistrano Handbookを確認することをお勧めします。ほとんどの質問に答えてくれるはずです。

于 2009-09-20T17:04:01.823 に答える