자습서: Amazon Alexa Skill을 배포하는 파이프라인 생성 - AWS CodePipeline

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

자습서: Amazon Alexa Skill을 배포하는 파이프라인 생성

이 자습서에서는 배포 단계에서 배포 공급자로 Alexa Skills Kit를 사용하여 Alexa 스킬을 지속적으로 제공하는 파이프라인을 구성합니다. 완성된 파이프 라인은 소스 리포지토리의 소스 파일을 변경할 때 스킬에 대한 변경 사항을 감지합니다. 파이프라인은 Alexa Skills Kit를 사용하여 Alexa 스킬 개발 단계에 배포합니다.

중요

파이프라인 생성의 일환으로 고객이 제공하는 S3 아티팩트 버킷이 아티팩트 CodePipeline 에 사용됩니다. (이는 S3 소스 작업에 사용되는 버킷과 다릅니다.) S3 아티팩트 버킷이 파이프라인의 계정과 다른 계정에 있는 경우 S3 아티팩트 버킷을 안전하고 신뢰할 수 AWS 계정 있는 에서 소유해야 합니다.

참고

이 기능은 아시아 태평양(홍콩) 또는 유럽(밀라노) 리전에서 사용할 수 없습니다. 해당 리전에서 사용 가능한 다른 배포 작업을 사용하려면 배포 작업 통합을 참조하세요.

사용자 지정 스킬을 Lambda 함수로 생성하려면 사용자 지정 스킬을 AWS Lambda 함수로 호스팅을 참조하세요. Lambda 소스 파일과 CodeBuild 프로젝트를 사용하여 스킬에 대한 변경 사항을 Lambda에 배포하는 파이프라인을 생성할 수도 있습니다.

사전 조건

다음 항목이 있어야 합니다.

1단계: Alexa 개발자 서비스 LWA 보안 프로필 생성

이 섹션에서는 Amazon 로그인()과 함께 사용할 보안 프로필을 생성합니다LWA. 이미 프로필이 있다면 이 단계를 생략할 수 있습니다.

  • 의 단계를 사용하여 보안 프로필을 generate-lwa-tokens 생성합니다.

  • 프로필을 만든 후 Client ID(클라이언트 ID)Client Secret(클라이언트 암호)을 메모합니다.

  • 지침에 제공된 대로 허용된 반환URLs을 입력해야 합니다. 는 ASK CLI 명령이 새로 고침 토큰 요청을 리디렉션하도록 URLs 허용합니다.

2단계: Alexa 스킬 소스 파일을 생성하고 CodeCommit 리포지토리로 푸시

이 단원에서는 파이프라인이 소스 단계에 대해 사용하는 리포지토리에 Alexa Skill 소스 파일을 생성하고 푸시합니다. Amazon 개발자 콘솔에서 생성한 스킬의 경우 다음 항목을 생성하고 푸시합니다.

  • skill.json 파일.

  • interactionModel/custom 폴더.

    참고

    이 디렉터리 구조는 기술 패키지 형식에 개략적으로 설명된 Alexa Skills Kit 기술 패키지 형식 요구 사항을 준수합니다. 해당 디렉터리 구조에서 올바른 기술 패키지 형식을 사용하지 않는 경우 변경 사항은 Alexa Skills Kit 콘솔에 성공적으로 배포되지 않습니다.

스킬에 대한 소스 파일을 생성하려면
  1. Alexa Skills Kit 개발자 콘솔에서 스킬 ID를 검색합니다. 다음 명령을 사용합니다.

    ask api list-skills

    스킬별로 이름을 지정한 다음 skillId 필드에 연결된 ID를 복사합니다.

  2. 스킬 세부 정보가 포함되어 있는 skill.json 파일을 생성합니다. 다음 명령을 사용합니다.

    ask api get-skill -s skill-ID > skill.json
  3. (선택 사항) interactionModel/custom 폴더를 만듭니다.

    이 명령을 사용하여 폴더 내에 상호 작용 모델 파일을 생성합니다. 언어의 경우 이 자습서에서는 파일 이름의 언어로 en-US를 사용합니다.

    ask api get-model --skill-id skill-ID --locale locale > ./interactionModel/custom/locale.json
파일을 CodeCommit 리포지토리로 푸시하려면
  1. 파일을 리 CodeCommit 포지토리로 푸시하거나 업로드합니다. 이러한 파일은 파이프라인 생성 마법사가 AWS CodePipeline에서 배포 작업을 위해 생성한 소스 아티팩트입니다. 파일은 로컬 디렉터리에 다음과 같이 나타납니다.

    skill.json /interactionModel /custom |en-US.json
  2. 파일을 업로드하는 데 사용할 방법을 선택합니다.

    1. 로컬 컴퓨터의 복제된 리포지토리에서 Git 명령줄을 사용하려면 다음과 같이 합니다.

      1. 다음 명령을 실행하여 모든 파일을 한 번에 스테이징합니다.

        git add -A
      2. 다음 명령을 실행하여 커밋 메시지와 함께 파일을 커밋합니다.

        git commit -m "Added Alexa skill files"
      3. 다음 명령을 실행하여 로컬 리포지토리의 파일을 CodeCommit 리포지토리로 푸시합니다.

        git push
    2. CodeCommit 콘솔을 사용하여 파일을 업로드하려면:

      1. CodeCommit 콘솔을 열고 리포지토리 목록에서 리포지토리를 선택합니다.

      2. 파일 추가를 선택한 후 파일 업로드를 선택합니다.

      3. 파일 선택을 선택한 후 파일을 찾습니다. 사용자 이름과 이메일 주소를 입력하여 변경 사항을 커밋합니다. 변경 사항 커밋을 선택합니다.

      4. 업로드하려는 각 파일에 대해 이 단계를 반복합니다.

3단계: ASK CLI 명령을 사용하여 새로 고침 토큰 생성

CodePipeline 는 Amazon 개발자 계정의 클라이언트 ID 및 보안 암호를 기반으로 새로 고침 토큰을 사용하여 사용자를 대신하여 수행하는 작업을 승인합니다. 이 섹션에서는 ASKCLI를 사용하여 토큰을 생성합니다. 파이프라인 생성 마법사를 사용할 때 이 자격 증명을 사용합니다.

Amazon 개발자 계정 자격 증명으로 새로 고침 토큰을 생성하려면
  1. 다음 명령을 사용합니다.

    ask util generate-lwa-tokens
  2. 메시지가 표시되면 다음 예와 같이 클라이언트 ID와 암호를 입력합니다.

    ? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
  3. 로그인 브라우저 페이지가 표시됩니다. Amazon 개발자 계정 자격 증명으로 로그인합니다.

  4. 명령줄 화면으로 돌아갑니다. 액세스 토큰 및 새로 고침 토큰이 출력에 생성됩니다. 출력에 반환된 새로 고침 토큰을 복사합니다.

4단계: 파이프라인 생성

이 단원에서는 다음 작업을 통해 파이프라인을 생성합니다.

  • 소스 아티팩트가 기술을 지원하는 Alexa 스킬 파일인 CodeCommit 작업이 포함된 소스 단계입니다.

  • Alexa Skill Kit 배포 작업이 적용된 배포 단계.

마법사를 사용하여 파이프라인을 생성하려면
  1. 에 로그인 AWS Management Console 하고 http://console.aws.amazon.com/codesuite/codepipeline/home CodePipeline 콘솔을 엽니다.

  2. 프로젝트와 해당 리소스를 생성할 AWS 리전을 선택합니다. Alexa skill 실행 시간은 다음 리전에서만 사용 가능합니다.

    • 아시아 태평양(도쿄)

    • 유럽(아일랜드)

    • 미국 동부(버지니아 북부)

    • 미국 서부(오리건)

  3. [Welcome] 페이지, [Getting started] 페이지 또는 [Pipelines] 페이지에서 Create pipeline(파이프라인 생성)을 선택합니다.

  4. 1단계: 파이프라인 설정 선택파이프라인 이름MyAlexaPipeline을 입력합니다.

  5. 파이프라인 유형 에서 V2를 선택합니다. 자세한 내용은 파이프라인 유형 단원을 참조하십시오. Next(다음)를 선택합니다.

  6. 서비스 역할 에서 새 서비스 역할을 선택하여 CodePipeline 가 에서 서비스 역할을 생성하도록 허용합니다IAM.

  7. [Advanced settings]의 설정은 기본값 그대로 두고, [Next]를 선택합니다.

  8. 2단계: 소스 단계 추가소스 공급자에서 AWS CodeCommit를 선택합니다. 리포지토리 이름 에서 에서 생성한 리포지토리의 CodeCommit 이름을 선택합니다1단계: CodeCommit 리포지토리 생성. [Branch name]에서 가장 마지막 코드 업데이트가 포함된 브랜치의 이름을 선택합니다.

    리포지토리 이름과 브랜치를 선택하면 이 파이프라인에 대해 생성할 Amazon CloudWatch Events 규칙이 표시되는 메시지가 표시됩니다.

    Next(다음)를 선택합니다.

  9. Step 3: Add build stage(3단계: 빌드 단계 추가)에서 Skip build stage(빌드 단계 건너뛰기)를 선택하고 Skip(건너뛰기)을 다시 선택하여 경고 메시지를 수락합니다.

    Next(다음)를 선택합니다.

  10. 4단계: 배포 단계 추가에서 다음과 같이 합니다.

    1. 배포 공급자에서 Alexa Skills Kit를 선택합니다.

    2. Alexa skill ID에 Alexa Skills Kit 개발자 콘솔의 스킬에 할당된 스킬 ID를 입력합니다.

    3. Client ID(클라이언트 ID)에 등록한 애플리케이션의 ID를 입력합니다.

    4. Client secret(클라이언트 암호)에 등록할 때 선택한 암호를 입력합니다.

    5. Refresh token(새로 고침 토큰)에 3단계에서 생성한 토큰을 입력합니다.

      Alexa Skills Kit 작업의 4단계: 배포 페이지
    6. Next(다음)를 선택합니다.

  11. 5단계: 검토에서 정보를 검토한 다음, 파이프라인 생성을 선택합니다.

5단계: 모든 소스 파일을 변경하고 배포 확인

스킬을 변경한 후 변경 사항을 리포지토리에 푸시합니다. 이렇게 하면 파이프라인이 실행됩니다. Alexa Skills Kit 개발자 콘솔에서 스킬이 업데이트되었는지 확인합니다.