3

laravel と angularjs を使用して最初の Web プロジェクトを構築し、開発環境をセットアップする方法を見つけようとしています。現在のアプローチは次のようになります。

  • laravel ファイル構造のバックエンド git リポジトリ
  • angularjsファイル構造のフロントエンドgitリポジトリ

そのため、フロントエンド/バックエンド ファイルをいじる必要なく、バックエンド/フロントエンドで作業できる人もいます。ここで、バックエンド リポジトリに開発ブランチなどの新しいバージョンがあり、フロントエンドで作業している場合、フロントエンド リポジトリがこの新しいバックエンド バージョンを git サーバーから自動的にプルし、それを開発環境にコピーする必要があります。開発者 (彼のワークステーション上)。これにより、フロントエンド開発で最新の API ルートを使用できることが保証されます。

質問は次のとおりです。

  • このシナリオを自動化する方法はありますか?
  • 2つの異なるレポでlaravelとangularjsを分離するのは最善の方法ですか? また、ある種のタスク ランナー (gulp など) を使用して、フロントエンド ファイル (sass、less など) をビルド/パッケージ化/最小化したいと考えています。
4

1 に答える 1

0

この答えは、これを達成するための多くの方法の 1 つにすぎず、「最善のアプローチ」を定義することは非常に相対的です。

1. 異なるブランチ(dev、release、master..) に別々の仮想ホストを作成します。

Apache または Nginx で、ブランチごとに異なるホスト名を作成し、各ルート ディレクトリ ( などpublic_html) で特定のブランチをプルします。

このようにして、フロントエンド開発者が他の開発者を危険にさらすことなく複数のブランチをテストできるようにします。

git pull2.定期的に実行する cron ジョブを作成する

これは最適化されたオプションではありませんが、単純です。自動プルには多くの複雑なソリューションが存在します (ここここなど) が、前述したように、それらは複雑です。

プルするときに問題がなく、更新がないため、cron ジョブに非常に短い期間 (5 分または 10 分など) を定義できます。

3. 分岐モデルを確立する

おそらく持っているかもしれませんが、持っていない場合は、 Vincent Driessen による古いがゴールドのGit 分岐モデルのように、同僚と分岐モデルを定義してください。

重要な側面の 1 つは、開発者 (フロントとバックの両方) が他の開発者に影響を与えることなく変更を処理できるようにすることです。

通常、各開発者は、いくつかのテスト (ローカルから開発者へ、開発者からリリースへ、リリースからマスターへ) の後、そのローカル ブランチを上位レベルにのみマージし、望ましくないエラーの伝播を回避します。

このようにして、バックエンド仮想ホストの 1 つを使用してテストを完了するフロントエンド開発者を含め、それぞれが独自のコードをテストできます。

于 2015-05-29T00:08:01.223 に答える