私はCMSを実行しました。私がコメントで述べたように、私はmanojldsの助けを借りて自分のワークフローセットアップを得ました。私は、ユーザーが作成したコンテンツを手助けしたいと考えて、実装を拡張したかったのです。
私はリモートリポジトリとしてgitoliteをセットアップしました。それは揺れる。
当社の分岐モデルは、コンテキストとして、ワードプレスで、そのように動作します:、
master - # this is the _vanilla_ install of wordpress with no modifications
prod - # the branch that the production server pushes/pulls to
dev - # dev environment pushes/pulls to, in our case a server
alpha - # really early development, ideas, etc - my personal branch that i work on mostly
features (opt) - # as needed, I'll make feature branches then merge them into the other branches.
私たちのprod、一日あたり約40〜45異なる静的ファイルを処理し、自動的に追加するcronを持っている/コミットし、ユーザーに変更ファイルおよびデータを毎日更新します。それはユーザーベースの変更をすべて取り上げ、プラグインのインストールを(あなたの場合は)拾うでしょう。あなたのインストールの履歴があるので、これは素晴らしいことです。
コードベースの実際の変更は、通常alphaで調べられ、その後devにマージされます。私たちはdevブランチへのpush
、devサーバが自動的にpulls
をコミットするときにいくつかのフックを作成しました。
開発環境でテストした後、ローカルのプロダクションブランチをリモコンと同期させます。これは、前述のように毎日ユーザーコンテンツをコミットします。次に、merge
またはcherry-pick
を製品にコミットし、次にpush
をジトライトにプロットします。その後、製品サーバーpulls
と皆が満足しています。
これは多くの作業のようですが、実際には、特にフックスクリプトの後では非常に効果的です。私はまだ展開を調整中です(例えば、alpha
ブランチを一掃し、dev/feature
をローカルで処理できます)。実際には、プロダクションサーバーのスナップショットを毎日作成するのに素晴らしいボーナスを得ています。いつでもすべてのブランチを同期することができます。
また、あなたのmaster
ブランチについては、これをWordPressのバニラインストールとして残しておいてください。実際に新しいバージョンのアップグレードを簡単にテストできます。マスタをチェックアウトしてからアップデートを実行し、ゆっくりとカスタマイズを統合できます。
出典
2011-08-24 16:24:12
Nic
セキュリティ上の問題ではありませんが、あなたは*良いコピーとしてあなたのレポにコミットしているサードパーティのコードを持っていますか? –