AWS CodeCommit リポジトリから最新の AWS Amplify ウェブアプリケーションを継続的にデプロイする - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CodeCommit リポジトリから最新の AWS Amplify ウェブアプリケーションを継続的にデプロイする

ディークシトゥル・ペンタコタ(AWS)とサイ・カタカム(AWS)によって作成されました

環境:PoC またはパイロット

テクノロジー: ウェブおよびモバイルアプリ DevOps、モダナイゼーション

AWS サービス: AWS Amplify、AWS CodeCommit

[概要]

最新のウェブアプリケーションは、すべてのアプリケーションコンポーネントを静的ファイルにパッケージ化する単一ページのウェブアプリケーションとして構築されます。AWS Amplify ホスティング を使用すると、Git ベースのリポジトリで管理される最新のウェブアプリケーションをビルド、デプロイ、ホストする継続的インテグレーションおよび継続的デプロイ (CI/CD) パイプラインを構築できます。Amplify Hosting をコードリポジトリに接続すると、コミットごとにアプリケーションのフロントエンドとバックエンドをデプロイする単一のワークフローが開始されます。これにより、アプリケーションのフロントエンドとバックエンドの間の矛盾は解消され、デプロイが正常に完了した場合にのみ、ウェブアプリケーションが更新されます。

このパターンでは、AWS CodeCommit リポジトリを使用して最新のウェブアプリケーションを管理します。このインストラクションのサンプルウェブアプリケーションは React SPA フレームワークを使用しています。ただし、Amplify Hostingは、Angular、Vue、Next.js など他の多くのSPAフレームワークをサポートしており、Gatsby、Hugo、Jekyllなどのシングルサイトジェネレーターもサポートしています。

このパターンは、以下のサービスとコンセプトの経験がある AWS ビルダーを対象としています。

  • AWS CodeCommit

  • AWS Amplify ホスティング

  • React

  • JavaScript

  • Node.js

  • npm

  • Git

前提条件と制限

前提条件

制約事項

  • このパターンでは、API、認証、データベースなど、Amplify アプリケーションのバックエンドの開発と統合については説明していません。バックエンドの詳細については、Amplify ドキュメントの「バックエンドの作成」を参照してください。

製品バージョン

  • AWS CLI バージョン 2

  • Node.js バージョン 16.x 以降

アーキテクチャ

ターゲットテクノロジースタック

  • React SPA を含む AWS CodeCommitリポジトリ

  • AWS Amplify ホスティングワークフロー

ターゲット アーキテクチャ

CodeCommit リポジトリからウェブアプリケーションをデプロイし、AWS Amplify でホスティングするアーキテクチャ図

ツール

AWS サービス

  • AWS Amplify ホスティングは、継続的なデプロイでフルスタックのサーバーレスウェブアプリケーションをホストするための Git ベースのワークフローを提供します。

  • AWS CodeCommit は、独自のソース管理システムを管理することなく、Git リポジトリをプライベートに保存および管理するためのバージョン管理サービスです。

  • AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。

その他のツール

  • Node.js は、スケーラブルなネットワークアプリケーションを構築するために設計されたイベント駆動型の JavaScript ランタイム環境です。

  • npm は、Node.js 環境で実行されるソフトウェアレジストリで、パッケージの共有または借用、プライベートパッケージのデプロイの管理に使用されます。

エピック

タスク説明必要なスキル

リポジトリを作成します。

手順については、 CodeCommit ドキュメントの「AWS CodeCommit リポジトリの作成」を参照してください。

AWS DevOps

リポジトリをクローン作成します。

手順については、 CodeCommit ドキュメントの CodeCommit 「リポジトリのクローンを作成してリポジトリに接続する」を参照してください。サインインするように求められたら、GitHub の認証情報を入力します。

アプリ開発者
タスク説明必要なスキル

新しいアプリケーションを作成するには

  1. 次のコマンドを入力して、クローンされたリポジトリに移動します。を CodeCommit リポジトリの名前<repo name>に置き換えます。

    $ cd <repo name>
  2. 以下のコマンドを入力して、クローンされたリポジトリに新しい React アプリケーションを作成します。

    $ npx create-react-app .
  3. アプリケーションをコーディングし、次のコマンドを入力して、アプリケーションを起動します。

    $ npm start

カスタム React アプリケーションの作成について詳しくは、「リアクトアプリの作成」ドキュメンテーションの「リアクトアプリの作成」の説明を参照してください。AAmplify ドキュメントの「フロントエンドのデプロイ」の手順に従って、サンプルReactアプリケーションをAAmplify アカウントにデプロイすることもできます。

アプリ開発者

ブランチを作成してコードをプッシュします。

  1. 次のコマンドを入力して、新しいブランチをローカルに作成します。ここで、<branch>は新しいブランチに割り当てる名前を指定します。

    $ git checkout -b <branch>
  2. 次のコマンドを入力してブランチを CodeCommit リポジトリにプッシュします。ここで、 <branch>は前のステップで割り当てた名前です。詳細については、「コミットを行う」を参照してください。

    $ git push --set-upstream origin <branch>
アプリ開発者
タスク説明必要なスキル

Amplify をリポジトリConnect。

手順については、Amplify Hosting ドキュメントの「リポジトリのConnect」を参照してください。AWS CodeCommit と、以前に作成したリポジトリとブランチを選択します。

アプリ開発者

フロントエンドのビルド設定を定義します。

手順については、Amplify Hosting ドキュメントの「フロントエンドのビルド設定の確認」を参照してください。デフォルトをそのまま使用するか、以下を入力します。

Build settings: version: 0.1 frontend: phases: preBuild: commands: - npm ci build: commands: - npm run build artifacts: baseDirectory: build files: - '**/*' cache: paths: - node_modules/**/*
アプリ開発者

確認とデプロイ

手順については、Amplify Hosting ドキュメントの「保存とデプロイ」を参照してください。デプロイプロセスが完了するまでお待ちください。

アプリ開発者
タスク説明必要なスキル

初期デプロイを検証してください。

デプロイプロセスが完了したら、「ドメイン」でリンクを選択します。アプリケーションが想定どおりに動作していることを確認します。

アプリ開発者

変更をコードリポジトリにプッシュします。

ローカルワークステーションでコードを編集し、変更を CodeCommit リポジトリにプッシュします。Amplify Hostingはリポジトリ内の変更を検出し、ビルドとデプロイのプロセスを自動的に開始します。アプリケーションの更新がドメインに表示されていることを確認します。

アプリ開発者

関連リソース

AWS CodeCommit ドキュメント

AWS Amplify ホスティングドキュメント

React リソース