2016-03-31 18 views
0

私はPHPでアプリケーションを持っています。私は、JavaScript、CSS、フォントなどの多くを使用します。gulp、git、php&productionビルド

すべてがgitでバージョン管理されており、gitでサーバーを更新します。私のサーバーはマスターブランチ上にあり、サーバー上のコードを更新するためにすべてを押します。

コードをアップグレードし、gulpを使って自動的にjavascriptをコンパイルし、sassを使用してフォントを生成したいと思います。

何か問題が生じた場合に備えて、私のサーバーにgulpをインストールしたくない場合、私のウェブサイトは動作不能になります。だから私は、javascript、cssのコンパイルされたファイルでビルドバージョンを作成することができなければなりません...しかし、私たちがバージョンを変更するたびに私のチームで競合を引き起こすので、常にファイルをコミットしたくありません。

すべてのコンパイル済みファイルでビルドバージョンを作成し、gitで競合しないようにするには、どのようなワークフローが最適でしょうか?

はありがとう

答えて

0

これは私の設定です:タスクが展開

enter image description here

お知らせ?まあ、- リリースでをデプロイしてください。をに展開した別の場所にリリースしてください。

異なる場所に配置するのと同じくらい簡単にする必要があります。 2つの異なるWebアプリケーションにアクセスできるさまざまなホストされたフォルダにあなたの場合。 1つは動作し、もう1つは開発中です。あなたの声明に

私は何かが うまくいかない場合には私のサーバー上でがぶ飲みをインストールしたくない、

あなたは何で、すべてのサーバ上でゴクゴクは必要ありません。私はTeamcityサーバーを構築していますが、それはそれです。

これは私にはうってつけです。私はそれが助けて欲しい

+0

通常のビルドでは、まだjsとcssをコンパイルしていますが、コンパイルしたファイルは無視してください(gitignoreファイルでは?)。しかし、あなたの配備では、どのようにファイルを無視するのですか?あるいは、すべてのファイルを別のgitignoreファイルを持つ別のフォルダにコピーしますか? – Etienne

+0

ところで私はGFSではなくTFSを使用しています(残念ながら)。私はいつも "コンパイルされたファイル"を無視します。それらはexesやdllのようにビルドプロセスの成果物に過ぎません。今、私の展開は、非コンパイル、非最適化、最適化されていない、非すべてのファイルをテストサーバーにコピーし、バグなどを追跡することができます。一方で、私のdeploy --releaseは、コンパイル、最適化、縮小、連結、改訂...すべてのファイルを1つのhtmlファイルと1つのcssと1つのjsファイルを生成してQAサーバーに出力します –

+0

ドンあなたが探しているビルドサーバーを持っていません。それはあなたのために非常に多くのステップを自動化することができ、一貫性と信頼性を開発プロセスに追加します。また、アーティファクトのバージョンを維持することもできます。つまり、コンパイルされたファイルを追跡し、QAまたはプロダクションにどのアーチファクトを配備したかを知っていることを意味します。 –

関連する問題