Amplify 콘솔에서 빌드 사양 편집 - AWS Amplify Hosting

Amplify 콘솔에서 빌드 사양 편집

Amplify 콘솔에서 빌드 사양을 편집하여 애플리케이션의 빌드 설정을 사용자 지정할 수 있습니다. 이러한 빌드 설정은 Git 리포지토리에 amplify.yml 파일이 저장된 브랜치를 제외하고 앱의 모든 브랜치에 적용됩니다.

Amplify 콘솔에서 빌드 설정을 편집하려면
  1. AWS Management Console에 로그인하고 Amplify 콘솔을 엽니다.

  2. 빌드 설정을 편집하려는 앱을 선택합니다.

  3. 탐색 창에서 호스팅을 선택한 다음 빌드 설정을 선택합니다.

  4. 빌드 설정 페이지의 앱 빌드 사양 섹션에서 편집을 선택합니다.

  5. 빌드 사양 편집 창에서 업데이트를 입력합니다.

  6. Save(저장)를 선택합니다.

다음 항목에 설명된 예제를 사용하여 특정 시나리오에 대한 빌드 설정을 업데이트할 수 있습니다.

스크립팅을 사용하여 브랜치별 빌드 설정

배시 쉘 스크립팅을 사용하여 브랜치별 빌드 설정을 지정할 수 있습니다. 예를 들어 다음 스크립트는 시스템 환경 변수 $AWS_BRANCH를 사용하여 브랜치 이름이 main인 경우 한 세트의 명령을 실행하고, 브랜치 이름이 dev인 경우 다른 세트의 명령을 실행합니다.

frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi

모노레포의 경우 사용자는 빌드를 실행하기 위해 폴더로 연속적으로 cd할 수 있기를 원합니다. cd 명령을 실행한 후에는 빌드의 모든 스테이지에 적용되므로 별도의 단계에서 명령을 반복하지 않아도 됩니다.

version: 1 env: variables: key: value frontend: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build

Gen 1 앱의 프론트엔드를 사용하여 백엔드 배포

참고

이 섹션은 Amplify Gen 1 애플리케이션에만 적용됩니다. Gen 1 백엔드는 Amplify Studio 및 Amplify 명령줄 인터페이스(CLI)를 사용하여 생성합니다.

amplifyPush 명령은 백엔드 배포에 도움을 제공하는 도우미 스크립트입니다. 아래의 빌드 설정은 현재 브랜치에 대해 배포할 올바른 백엔드 환경을 자동으로 결정합니다.

version: 1 env: variables: key: value backend: phases: build: commands: - amplifyPush --simple

출력 폴더 설정

다음 빌드 설정에서는 출력 디렉터리를 퍼블릭 폴더로 설정합니다.

frontend: phases: commands: build: - yarn run build artifacts: baseDirectory: public

빌드의 일부로 패키지 설치

빌드하는 동안 npm 또는 yarn 명령을 사용하여 패키지를 설치할 수 있습니다.

frontend: phases: build: commands: - npm install -g <package> - <package> deploy - yarn run build artifacts: baseDirectory: public

프라이빗 npm 레지스트리 사용

빌드 설정에서 프라이빗 레지스트리에 대한 참조를 추가하거나 환경 변수로 추가할 수 있습니다.

build: phases: preBuild: commands: - npm config set <key> <value> - npm config set registry https://registry.npmjs.org - npm config set always-auth true - npm config set email hello@amplifyapp.com - yarn install

OS 패키지 설치

Amplify의 AL2023 이미지는 이름이 amplify인 권한이 없는 사용자를 사용하여 코드를 실행합니다. Amplify는 이 사용자에게 Linux sudo 명령을 사용하여 OS 명령을 실행할 수 있는 권한을 부여합니다. 누락된 종속성에 OS 패키지를 설치하려는 경우 yumrpm과 같은 명령을 sudo와 함께 사용할 수 있습니다.

다음 예제 빌드 섹션에서는 sudo 명령을 사용하여 OS 패키지를 설치하기 위한 구문을 보여줍니다.

build: phases: preBuild: commands: - sudo yum install -y <package>

모든 빌드에 대한 키-값 스토리지 설정

envCache은(는) 빌드 시 키-값 스토리지를 제공합니다 envCache에 저장된 값은 빌드 중에만 수정할 수 있으며 다음 빌드에서 재사용할 수 있습니다. envCache을(를) 사용하여 배포된 환경에 정보를 저장하고 연속 빌드에서 빌드 컨테이너에 사용할 수 있습니다. envCache에 저장된 값과 달리, 빌드 중 환경 변수의 변경 사항은 미래 빌드에 지속되지 않습니다.

사용 예:

envCache --set <key> <value> envCache --get <key>

커밋을 위한 빌드 건너뛰기

특정 커밋에서 자동 빌드를 건너뛰려면 커밋 메시지 끝에 [skip-cd] 텍스트를 포함합니다.

모든 커밋에서 자동 빌드 끄기

모든 코드 커밋에 대해 자동 빌드를 끄도록 Amplify를 구성할 수 있습니다. 설정하려면 앱 설정, 브랜치 설정을 선택한 다음 연결된 브랜치가 있는 브랜치 섹션을 찾습니다. 브랜치를 선택한 다음 작업, 자동 빌드 비활성화를 선택합니다. 해당 브랜치에 대한 새 커밋은 더 이상 새 빌드를 트리거하지 않습니다.

diff 기반 프론트엔드 빌드 및 배포 구성

diff 기반 프런트엔드 빌드를 사용하도록 Amplify를 구성할 수 있습니다. 활성화 시 각 빌드를 시작할 때 Amplify가 기본적으로 사용자의 appRoot 또는 /src/ 폴더에서 diff 실행을 시도합니다. Amplify가 차이점을 발견하지 못하면 프런트엔드 빌드, 테스트(구성된 경우) 및 배포 단계를 건너뛰고 호스팅된 앱을 업데이트하지 않습니다.

diff 기반 프런트엔드 빌드 및 배포를 구성하려면
  1. AWS Management Console에 로그인하고 Amplify 콘솔을 엽니다.

  2. diff 기반 프런트엔드 빌드를 구성하고 배포할 앱을 선택합니다.

  3. 탐색 창에서 호스팅, 환경 변수를 선택합니다.

  4. 환경 변수 섹션에서 변수 관리를 선택합니다.

  5. 환경 변수를 구성하는 절차는 diff 기반 프런트엔드 빌드 및 배포의 활성화 여부에 따라 달라집니다.

    • diff 기반 프런트엔드 빌드 및 배포를 활성화하려면

      1. 변수 관리 섹션의 변수AMPLIFY_DIFF_DEPLOY를 입력합니다.

      2. true를 입력합니다.

    • diff 기반 프런트엔드 빌드 및 배포를 비활성화하려면

      1. 다음 중 하나를 수행하십시오.

        • 변수 관리 섹션에서 AMPLIFY_DIFF_DEPLOY을(를) 찾습니다. false를 입력합니다.

        • AMPLIFY_DIFF_DEPLOY 환경 변수를 제거합니다.

  6. 저장을 선택합니다.

선택적으로 AMPLIFY_DIFF_DEPLOY_ROOT 환경 변수를 설정하여 기본 경로를 리포지토리의 루트와 관련된 경로(예: dist)로 재정의할 수 있습니다.

Gen 1 앱을 위한 diff 기반 백엔드 빌드 구성

참고

이 섹션은 Amplify Gen 1 애플리케이션에만 적용됩니다. Gen 1 백엔드는 Amplify Studio 및 Amplify 명령줄 인터페이스(CLI)를 사용하여 생성합니다.

AMPLIFY_DIFF_BACKEND 환경 변수를 사용하여 diff 기반 백엔드 빌드를 사용하도록 Amplify Hosting을 구성할 수 있습니다. diff 기반 백엔드 빌드를 활성화하면 각 빌드를 시작할 때 Amplify가 리포지토리의 amplify 폴더에서 diff 실행을 시도합니다. Amplify에서 차이점을 발견하지 못하면 백엔드 빌드 단계를 건너뛰고 백엔드 리소스를 업데이트하지 않습니다. 프로젝트의 리포지토리에 amplify 폴더가 없는 경우 Amplify는 AMPLIFY_DIFF_BACKEND 환경 변수 값을 무시합니다.

현재 백엔드 단계의 빌드 설정에 사용자 지정 명령이 지정되어 있는 경우, 조건부 백엔드 빌드는 작동하지 않습니다. 이러한 사용자 지정 명령을 실행하려면 앱의 amplify.yml 파일에 있는 빌드 설정의 프런트엔드 단계로 해당 명령을 이동해야 합니다.

diff 기반 백엔드 빌드를 구성하려면
  1. AWS Management Console에 로그인하고 Amplify 콘솔을 엽니다.

  2. diff 기반 백엔드 빌드를 구성할 앱을 선택합니다.

  3. 탐색 창에서 호스팅, 환경 변수를 선택합니다.

  4. 환경 변수 섹션에서 변수 관리를 선택합니다.

  5. 환경 변수를 구성하는 절차는 diff 기반 백엔드 빌드의 활성화 여부에 따라 달라집니다.

    • diff 기반 백엔드 빌드를 활성화하려면

      1. 변수 관리 섹션의 변수AMPLIFY_DIFF_BACKEND를 입력합니다.

      2. true를 입력합니다.

    • diff 기반 백엔드 빌드를 비활성화하려면

      1. 다음 중 하나를 수행하십시오.

        • 변수 관리 섹션에서 AMPLIFY_DIFF_BACKEND을(를) 찾습니다. false를 입력합니다.

        • AMPLIFY_DIFF_BACKEND 환경 변수를 제거합니다.

  6. Save(저장)를 선택합니다.