AWS 리포지토리에서 최신 AWS Amplify 웹 애플리케이션을 지속적으로 배포하십시오. CodeCommit - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS 리포지토리에서 최신 AWS Amplify 웹 애플리케이션을 지속적으로 배포하십시오. CodeCommit

작성자: Deekshitulu Pentakota(AWS), Sai Katakam(AWS)

환경: PoC 또는 파일럿

기술: 웹 및 모바일 앱, 현대화 DevOps

AWS 서비스: AWS Amplify, AWS CodeCommit

요약

현대식 웹 애플리케이션은 모든 애플리케이션 구성 요소를 정적 파일로 패키징하는 단일 페이지 애플리케이션(SPA)으로 구성됩니다. AWS Amplify Hosting을 사용하면 Git 기반 리포지토리에서 관리되는 최신 웹 애플리케이션을 구축, 배포 및 호스팅하는 지속적 통합 및 지속적 배포(CI/CD) 파이프라인을 구축할 수 있습니다. Amplify Hosting을 코드 리포지토리에 연결하면 각 커밋에서 애플리케이션 프런트엔드와 백엔드를 배포하는 단일 워크플로가 시작됩니다. 이 접근 방식의 이점은 배포가 성공적으로 완료된 후에만 웹 애플리케이션이 업데이트되므로 프런트엔드와 백엔드 간의 불일치가 방지된다는 것입니다.

이 패턴에서는 AWS CodeCommit 리포지토리를 사용하여 최신 웹 애플리케이션을 관리합니다. 이 지침의 샘플 웹 애플리케이션은 React SPA 프레임워크를 사용합니다. 그러나 Amplify Hosting은 Angular, Vue, Next.js 같은 다른 많은 SPA 프레임워크를 지원하며 Gatsby, Hugo, Jekyll.과 같은 단일 사이트 생성기도 지원합니다.

이 패턴은 다음 서비스 및 개념을 사용해 본 경험이 있는 AWS Builder를 대상으로 합니다.

  • AWS CodeCommit

  • AWS Amplify Hosting

  • React

  • JavaScript

  • Node.js

  • npm

  • Git

사전 조건 및 제한 사항

사전 조건

제한 사항

  • 이 패턴에서는 API, 인증 또는 데이터베이스와 같은 Amplify 애플리케이션용 백엔드의 개발 및 통합에 대해서는 설명하지 않습니다. 백엔드에 대한 자세한 내용은 Amplify 설명서의 백엔드 생성을 참조하세요.

제품 버전

  • AWS CLI 버전 2.0

  • Node.js 16.x 이상

아키텍처

대상 기술 스택

  • React SPA가 포함된 AWS CodeCommit 리포지토리

  • AWS Amplify Hosting 워크플로

대상 아키텍처 

CodeCommit 리포지토리에서 웹 앱을 배포하고 AWS Amplify를 사용하여 호스팅하는 아키텍처 다이어그램

도구

서비스

  • AWS Amplify Hosting은 지속적인 배포로 풀스택 서버리스 웹 애플리케이션을 호스팅하기 위한 Git 기반 워크플로를 제공합니다.

  • CodeCommitAWS는 자체 소스 제어 시스템을 관리할 필요 없이 Git 리포지토리를 비공개로 저장하고 관리할 수 있는 버전 제어 서비스입니다.

  • AWS Identity and Access Management(IAM)는 사용자에 대한 인증 및 권한 부여를 제어함으로써 AWS 리소스에 대한 액세스를 안전하게 관리할 수 있습니다.

기타 도구

  • Node.js 는 확장 가능한 네트워크 애플리케이션을 구축하도록 설계된 이벤트 기반 JavaScript 런타임 환경입니다.

  • npm은 Node.js 환경에서 실행되는 소프트웨어 레지스트리로, 패키지를 공유 또는 대여하고 개인 패키지의 배포를 관리하는 데 사용됩니다.

에픽

작업설명필요한 기술

리포지토리를 생성합니다.

지침은 설명서의 AWS CodeCommit 리포지토리 생성을 CodeCommit 참조하십시오.

AWS DevOps

리포지토리를 복제합니다.

자세한 지침은 CodeCommit 설명서에서 리포지토리를 복제하여 CodeCommit 리포지토리에 연결을 참조하십시오. 메시지가 표시되는 경우 Git 보안 인증 정보를 제공합니다.

앱 개발자
작업설명필요한 기술

새 React 애플리케이션을 생성합니다.

  1. 다음 명령을 입력하여 복제된 리포지토리를 탐색합니다. CodeCommit 리포지토리 <repo name> 이름으로 바꾸십시오.

    $ cd <repo name>
  2. 다음 명령을 입력하여 복제된 리포지토리에 새 React 애플리케이션을 생성합니다.

    $ npx create-react-app .
  3. 애플리케이션을 코딩한 후 다음 명령을 입력하여 시작합니다.

    $ npm start

사용자 지정 React 애플리케이션을 생성하는 방법에 대한 자세한 내용은 React 앱 생성 설명서의 React 앱 생성 지침을 참조하세요. Amplify 설명서의 프론트엔드 배포에 나와 있는 지침에 따라 샘플 React 애플리케이션을 Amplify 계정에 배포할 수도 있습니다.

앱 개발자

브랜치를 생성하고 코드를 푸시합니다.

  1. 다음 명령을 입력하여 로컬에서 새 브랜치를 생성합니다. 여기에서 <branch>는 새 브랜치에 할당할 이름입니다.

    $ git checkout -b <branch>
  2. 다음 명령을 입력하여 브랜치를 CodeCommit 리포지토리로 푸시합니다. 여기서 <branch> 는 이전 단계에서 할당한 이름입니다. 자세한 내용은 커밋으로 작업을 참조하세요.

    $ git push --set-upstream origin <branch>
앱 개발자
작업설명필요한 기술

Amplify를 리포지토리에 연결합니다.

지침은 Amplify 호스팅 설명서의 리포지토리 연결을 참조하세요. CodeCommit AWS와 이전에 생성한 리포지토리 및 브랜치를 선택합니다.

앱 개발자

프론트엔드 빌드 설정을 정의합니다.

자세한 지침은 Amplify 호스팅 설명서에서 프런트엔드의 빌드 설정 확인을 참조하세요. 기본값을 그대로 사용하거나 다음 사항을 입력합니다.

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 호스팅 설명서의 저장 및 배포를 참조하세요. 배포 프로세스가 완료될 때까지 기다리세요.

앱 개발자
작업설명필요한 기술

초기 배포를 검증합니다.

배포 프로세스가 완료되면 도메인에서 링크를 선택합니다. 애플리케이션이 예상대로 작동하는지 검증합니다.

앱 개발자

코드 리포지토리에 변경 사항을 푸시합니다.

로컬 워크스테이션에서 코드를 편집하고 변경 내용을 CodeCommit 리포지토리에 푸시합니다. Amplify Hosting은 리포지토리의 변경 사항을 감지하고 자동으로 빌드 및 배포 프로세스를 시작합니다. 애플리케이션 업데이트가 도메인에 표시되는지 확인합니다.

앱 개발자

관련 리소스

AWS CodeCommit 설명서

AWS Amplify Hosting 설명서

React 리소스