1

よし、取り引きだ。Elastic Beanstalk を使用しており、2 つの環境があります。それぞれに独自の名前と URL があり、env-one = foo.elasticbeanstalk.com および env-two = bar.elasticbeanstalk.com とします。

次に、運用ドメイン example.com があります。

example.com には foo.elasticbeanstalk.com を指す cname があります

デフォルトのプッシュ環境は env-two です。

デフォルト環境にプッシュし、通常の開発環境と同様に、すべてが正常に機能することを確認します。全員が満足したら、開発環境と本番環境を切り替えるように URL を切り替えます。

したがって、env-two = foo.elasticbeanstalk.com および env-one = bar.elasticbeanstalk.com となります。

問題は、デフォルトのプッシュ環境がまだ env-two であるということですが、これは現在、運用環境になっています。そのため、次に dev にプッシュする必要があるときは、env-one にプッシュすることを定義する必要があります。

git aws.push --environment env-one

したがって、私が探しているのは、プッシュ先の環境を定義する必要がない方法です。

回答ありがとうございます。これに対する解決策があることを願っています。

4

2 に答える 2

1

いくつかの考え:

1) これはあなたが尋ねた範囲から少し外れています (そして私は AWS の専門家ではありません) が、これが公開サイトである場合に DNS 伝播の遅延を考慮すると、DNS 切り替えによって衝突ウィンドウが残る可能性があります。

2) 2 番目の DNS エイリアス「dev.elasticbeanstalk.com」を定義し、同時にスワップしてから、常にそのエイリアスにプッシュすることができます。

3) 1 つのローカル リポジトリからのみプッシュしている場合は、"git remote set-url" マジックを実行して URL を切り替えることができるため、正しいリポジトリにプッシュできます。ただし、これは潜在的にエラーが発生しやすいようです。

DNS を使用する場合は、オプション # を使用して、「dev」の場合にトリガーされる監視システムをセットアップします。と "example.com" は同じ A レコードを指していました。

于 2013-03-06T18:15:54.767 に答える