2016-07-30 7 views
0

この質問に対する回答の高低を検索しましたが、見つかりませんでした。Bitbucketを使用してwebpackで作成されたAngular 2アプリをデプロイする

私はS3バケットでホストしたいAngular 2アプリを構築しています。 EC2(おそらく)のバックエンドがありますが、それは別の話です。理想的には、自分のコードをBitbucketにチェックすることができるようにしたいと思います。S3やEC2のような魔法や、ソースが変更されたことなど、何か気付くべきことがあります。もちろん、ソースはwebpackを使用してビルドされ、配布されたものは正しくデプロイされなければなりません。

これはかなり簡単な要求のようですが、私は今すぐ調査するWebDeployに関する解決策の例外を見つけることができません。

答えて

0

S3はGitフックをリッスンしないで、コードをフェッチ、ビルド、デプロイしません。 BitBucketはあなたのコードをビルドしてS3に展開するつもりはない。必要なのはBitBucketとS3の中間に位置するサービスです。これはGitフックによってトリガされ、Gitからフェッチしてビルドし、S3にコードをデプロイします。このようなことを行うように設計された継続的インテグレーション/継続的展開サービスを検索する必要があります。

AWSはCodePipelineです。独自のJenkinsまたはTeamCityサーバーを設定できます。またはCodeShipのようなサービスを調べることができます。これらは、この作業を達成できる多くのサービスのほんの一部に過ぎません。私は、これらのサービスのいずれかが、実際のWebpackを実行してS3にコピーするために、あなたの部分で少しのスクリプトを必要とすると思います。

1

AWSラムダが作成しました。

要件を満たすには、以下のシナリオとコードを作成する必要があります。

ラムダ関数を1-作成し、この関数は、次の手順を実行する必要があります。

  • はGitHubのかのBitbucketから最新のコードを複製します1-1-。

    1-2- install grunt or another builder for your angular app. 
    
    1-3- install node modules. 
    
    1-4- build your angular app. 
    
    1-5- copy new build to your S3 bucket. 
    
    1-6- Finish. 
    

あなたのラムダ関数への一つの資源と一つの方法ポイントとAWSのAPIゲートウェイを2作成します。

3 GitHubまたはBitbucketの設定を変更し、APIゲートウェイを使用してwebhookを追加します。

4-AWSでの生活を楽しんでください。 ;)

利点: 1 - 新しいビルドがある場合にのみ課金されます。

2 - マシンまたはサーバー(EC2)は必要ありません。

3 - Lambdaには1つの機能しかありません。

https://aws.amazon.com/lambda/

https://aws.amazon.com/api-gateway/

:詳細は

関連する問題