3

Google App Engineのファイルdispatch.yamlを理解しようとしています。複数の開発環境でGAEのdispatch.yamlを使用するには?

私たちは、フロントエンドとバックエンドを持つバニラWebアプリを持っています。また、開発環境と運用環境も用意されています。両方の環境には、バックエンドであるGAE-frontenddefaultの2つのサービスがあります。

私たちは、フロントエンドとバックエンドを持つバニラWebアプリを持っています。また、開発環境と運用環境も用意されています。フロントエンドとデフォルトの2つのサービスをバックエンドとしてGAEに提供しています。我々の開発環境であるstagingと、我々の生産環境であるproductionの2つのプロジェクトがあります。ステージング環境は、フロントエンドとバックエンドの両方でdevブランチから構築されています。本番環境は、フロントエンドとバックエンドの両方でマスターから構築されています。

ステージング環境と本番環境の両方にカスタムルートを使用する必要があります。

dispatch_staging.yamldispatch_prod.yamlを使用してファイルを区別しようとしましたが、GAEはそれらのファイル名を認識しません。私はフロントエンドサービスの名前を変更することができると思うが、周りに行く方法がないように見えるdefault

dispatch.yamlを使用して、構築する環境をどのように指定しますか?

+0

異なるブランチがある場合は、なぜ異なるファイル名を使用するのですか? –

答えて

2

私がこの問題に近づく方法は、アプリケーションコードに異なるrepoブランチを使用することです。

  • master分岐バージョンがmy_app-devに展開された - 本番環境のアプリ

ファイルは常にdispatch.yaml命名されたこの道を - production分岐バージョンがmy_appに展開された開発環境のアプリ

  • 。サービス名は、環境間で変更されませんが、それらに関連したカスタムドメイン名がない - それは、2つの支店でdispatch.yamlファイルの内容に反映されています:

    $ git diff production master -- dispatch.yaml 
    diff --git a/dispatch.yaml b/dispatch.yaml 
    index 0768a6a..c1326cf 100644 
    --- a/dispatch.yaml 
    +++ b/dispatch.yaml 
    @@ -1,14 +1,14 @@ 
    -application: my_app 
    +application: my_app-dev 
    dispatch: 
    - - url: "service1.my_app.com/*" 
    + - url: "service1-dev.my_app.com/*" 
        module: service1 
    - - url: "service1-dot-my_app.appspot.com/*" 
    + - url: "service1-dot-my_app-dev.appspot.com/*" 
        module: service1 
        - url: "*/service1/*" 
        module: service1 
    - - url: "service2.my_app.com/*" 
    + - url: "service2-dev.my_app.com/*" 
        module: service2 
    - - url: "service2-dot-my_app.appspot.com/*" 
    + - url: "service2-dot-my_app-dev.appspot.com/*" 
        module: service2 
    

    注:私は実装していますアプリレベルで異なる環境(サービスレベルと対照的に、Advantages of implementing CI/CD environments at GAE project/app level vs service/module level?を参照)。サービスレベルの実装ではこのアプローチを使用できません。

  • +0

    ありがとう、私はあなたがそれをやっているのを見る、ダン。あなたの設定は我々の設定と非常に似ています。私たちは異なるプロジェクトに2つの環境を持っています。 確認するには、dispatch.yamlを 'dev'から' master'にマージすることはありませんか?あなたの合併から毎回それを忘れることをどう思いますか?明白かもしれないもののためのお詫び - 私はノブです – Mike

    +0

    それを無視して、ダン。私はちょうどgitの属性について学んだ。答えをありがとう:) – Mike

    +0

    最初のマージ後、ファイルがブランチブランチで変更された場合にのみブランチマージに表示されます。さもなければそれはしません。 –

    関連する問題