2011-09-09 15 views
4

私は、バージョン管理ツールとしてSubversionを使用し、デプロイ作業コード用のリモートホストを使用するプロジェクトを持っています(ライブステージはsmthが異なります)。私はCSSファイルを生成するために、sassファイルを使用します。私の質問は:どこで、いつ私はファイルを生成すべきですか?バージョンリポジトリと開発サイクルにSASSファイルとCSSファイルを含める方法

いくつかの意見: 1.私は作業コピーをテストするときに我々はバージョンに選ぶ

+0

レポに含まれていないファイルをどのように展開しますか? – Benxamin

+0

@Benxamin:私はスクリプトをデプロイするたびにCSSファイルを処理します。また、他のものを小さくしてください。 – catalinux

答えて

4

を展開するまで、私はコンパイルを待つことができないCSSファイルを必要とする、リポジトリ 2にcssファイルを入れてOKではないと思います両方のsassファイル、コンパイル済みのcssファイルそうすれば、誰もがローカルにプルダウンすると、すべてのものの最新バージョンにアクセスすることができます。私たちは、ローカルでビルド、テスト、コンパイルを行います。その後、ローカルにマージします。それがうまくいけば、テストサーバー(本番サーバーと同じ)に移動します。

サーバーにはコンパイルがありません。ローカルでコンパイルすると、有効なコードだけがテストサーバーに出力されます。

私たちのそれぞれが選択したマージツールを使用できるため、ローカルでマージするのが簡単になりました。

また、履歴を追跡することができ、リファクタリングでリポジトリに両方のファイルセットを簡単に持たせることができます。

最後に、私たちが使用するCMSには、すべてのcssファイルを1つにまとめたモジュールと、jsファイルと同じものがあります。 minificationプロセスはきめ細かく制御できるので、テストサーバーでデバッグするために一度に1つずつ読み込むことができます。また、プロダクション設定をテストするときにデバッグをオフにします。

+0

私は、コンパイルされたファイルをバージョンコントロールに置いてはいけないと読んだことがあります。これにはもっと答えが必要です。 – AlxVallejo

+0

コンパイルされたファイルをバージョンコントロールに入れると、より簡単に展開できます。しかし、それは不必要なマージ競合の原因となる可能性があります。ローカル、デベロッパー、インテグレーション、ステージング、プロダクションサーバーのレイヤー数に左右され、どのステージでコンパイルしてプロダクションにプッシュしたいのですか。 – Benxamin

+0

ハイパーメディアでは、ビルドされたファイルをバージョン管理して、ハッシュしてからキャッシュできるようにする必要があります。それは一種のベストプラクティスです。 – Benxamin

関連する問題