、私が書きましたそうでなければ手作業であろうと私を助けるためのperlスクリプト。特定のステップにおなじみの名前を付けるので、正しい順序で実行することを忘れないでください。私はSVNの下でDEVを持っています。私はこのスクリプトで毎回PRODUCTION環境を作成します。そうすれば、私は2つのコード枝を維持することについて心配する必要はありません。
私は私のDEVコードの新しいチェックアウトディレクトリ(/ tmp/foobarのような)を選択するのでSVNを使用しています。非常に長い間そこにいることはありません。
オプションステップ0:差分データベース構造
mysqldump -d -u USER -pPASS mydotcom > production.sql
mysqldump -d -u USER -pPASS mydotcom_dev > development.sql
vim -d production.sql development.sql
時々プラグインはテーブルを追加し、これはそれを表示します。それ以外の場合は、テーブル内で行った変更(プラグインのインストール)を再生して、特定のテーブルとSQLステートメントをコピーする価値がない場合に再生します。
ステップ1クリーン: スクリプトは、現在のディレクトリ内のすべてのファイルを削除し、DEVブランチの新しいsvnチェックアウトを行います。この新しいチェックアウトはPRODUCTIONコードに変換され、そのWebルートにコピーされます。
ステップ2 make: perlはvim検索を実行し、wpconfig.phpのデータベース名を置き換えます。検索と置換は、perlでも簡単に行えます。
system('vim -c "%s/define(\'DB_NAME\', \'mydotcom_dev\'/define(\'DB_NAME\', \'mydotcom\'/g | w | q" wp-config.php');
ローカルファイルアップロードディレクトリを削除します(PRODUCTIONファイルを上書きしないため)。 wpcontent/uploads私はそれが標準インストールされていると信じています。
別の検索および例えば
vim -c "%s/dev\.mydot\.com/www.mydot.com/g | w | q FILENAME.php
ステップ3をインストールし、私のDEVのURLを持っているプロジェクト内のすべてのテキストファイルに置き換えます。 dircopy()を使用してwpcontent/uploadsを安全にバックアップしてください。このクリーンアップされたディレクトリのdircopy()をPRODUCTION Webルートに行います。そのようにWebルート内のすべての.svnディレクトリを削除します。
find /PRODUCTION/WEBROOT -ignore_readdir_race -name .svn -exec rm -fr {} \; >/dev/null 2>&1
は、今すぐあなたのDEVコードが本番コードは、すべてのハードコードされたURLを交換し、SVNではありませんアップロードディレクトリの周りの安全維持に変換されています。あなたはそれを停止し、あなたのためにもapacheを開始することさえできます。私のソリューションがあなたの問題を解決するのに役立つことを願っています
私はwordpressを理解しています。多分私はそれをもっとはっきりとしていたはずです。この質問は具体的にはワークフローに関するもので、私は具体的な答えを探しています。私はスクリプトを書く必要がある場合、人々はリンクを提供することができます期待している – Tony