2016-07-16 2 views
2

前提条件:便利な展開とバージョン管理に関して、SPAプロジェクトの構造を整理する正しい方法は何ですか?


は私がpopuplarフロントエンドJSフレームワークの1つに基づくべき単一ページのアプリケーション(SPA)プロジェクト開発、およびフロントエンドをogranizeする必要があり、これは一息に基づいてフロントエンド構築システムの使用を意味します/最終的なバンドルを構築するためのwebpackは、Es2015 jsソース、Sassスタイル、Jadeマークアップとしましょう。バックエンドはLaravel 5.xに基づいている必要があります。

最後に、バックエンドコードで動作するフロントエンドバンドルを用意しました。開発の各段階で、私はフロントエンドバンドルと特定のバックエンドコードを持っていて、一緒に正しく動作することができます。

質問:最も正しくバージョン管理下にあるすべての私のソースコードを配置方法


  1. (のは、Gitリポジトリを使用して言わせて)?バックエンドとフロントエンドの2つの独立したリポジトリのすべてのプロジェクトに対して1つのリポジトリを作成する必要がありますか?どうして?

  2. 現在のリリースバージョンのプロダクションサーバーをプロダクションサーバーに最も簡単で簡単に展開するためのバージョンコントロールの構成方法を教えてください。ここで

私の考えです:それはひとつのリポジトリにフロントエンド・バンドルとバックエンドのコード+移行の両方の実際のバージョンを持っているのは良いアイデアのように見えますが、私のジレンマです:生産のために私は唯一のフロントエンドバンドルを必要とするが、初期フロントエンドのソースコード(sass、jadeなどのファイル)ではありません。私のフロントエンドのバンドルは、フロントエンドのソースコード/スタイル/ makrupの変更ごとにビルドシステムを常に再構築しているので、出力バンドルはビルドごとに異なります。

  • バックエンドとフロントエンドの両方に共通のリポジトリを作成すると、フロントエンドのソースもリポジトリに含まれ、プロダクションサーバーには必要ありません。
  • フロントエンドとバックエンドの2つの独立したリポジトリを作成すると、実際のフロントエンドバンドルとバックエンドコードの実際のバージョンをどのように同期させることができますか?

私はこれが私を理解するのに非常に明確に書かれたと思いますが、私はそのような疑問を明確にすることができるいくつかのドキュメントのアドバイスやリンクをお願いします。

答えて

1

私はfrontendbackendするための2つの別々のリポジトリを作成した場合、どのように私は、実際のfrontendバンドルとbackendコードの実際のバージョンを同期させるだろうし、どのように私は私のプロジェクトの特定のバージョンに戻るのでしょうか?通常、そのタスクsubmodulesとして宣言frontendbackendの正しいバージョンを記録することで、親レポを介して行われ

frontendbackend変更は、それらのレポのSHA1を言及git statusあなたの親レポが変更されるたび(つまりそのgitlinks、メイン親レポのspecial entries in the index)の他に、(その親レポを押すことにより

frontendbackend repos)を押すと、どのバージョンのfrontendbackendのバージョンになるかを把握できます。また、親リポジトリ履歴を使用して特定のバージョンのプロジェクトに戻ることもできます。

+0

あなたの答えをありがとう、しかし、私はgitに堪能ではないので、組み立てられたバンドルだけが必要な場合は私に明確にすることはできますが、フロントエンドプロジェクトからバックエンドとこのバンドルの一部(組み立てられたスタイルとスクリプトのみ)、サブモジュールはこの場合私を助けますか? 1)私のフロントエンドの各再建に私は私のバックエンドのための唯一の新鮮なビルドバンドルを必要と私は 2、再構築後に手動で毎回バンドルをコピーしたくない: あなたが見る、私の問題の2つの側面があります)フロントエンドバンドルを手動でコピーすることなくバックエンドを簡単に展開したい。 – dajnz

+0

@dajnzあなたは正しいです、その(サブモジュール)は分かりません。サブモジュールはgit repo、* all * git repo(その一部ではありません)です。コードベースを独立したモジュールに分割することができれば、サブモジュールのアプローチはあなたのためです。 – VonC

関連する問題