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

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

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

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

참고

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

사용자 지정 기술을 Lambda 함수로 생성하려면 사용자 지정 기술을 Lambda 함수로 호스팅하기 항목을 참조하십시오. AWS 또한 Lambda 소스 파일과 프로젝트를 사용하는 파이프라인을 생성하여 기술에 맞게 Lambda에 변경 사항을 배포할 수 있습니다. CodeBuild 예를 들어 새 스킬 및 관련 Lambda 함수를 생성하기 위해 AWS CodeStar 프로젝트를 생성할 수 있습니다. AWS CodeStar에 Alexa Skill 생성을 참조하십시오. 이 옵션의 경우 파이프라인에는 배포 단계의 CodeBuild 작업과 작업이 포함된 세 번째 빌드 단계가 포함됩니다. AWS CloudFormation

필수 조건

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

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

이 단원에서는 Login With Amazon(LWA)에 사용할 보안 프로필을 만듭니다. 이미 프로필이 있다면 이 단계를 생략할 수 있습니다.

  • generate-lwa-tokens단계를 사용하여 보안 프로필을 만들 수 있습니다.

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

  • 지침에 제공된 대로 Allowed Return URLs(허용된 반환 URL)를 입력했는지 확인합니다. URL을 통해 ASK CLI 명령은 새로 고침 토큰 요청을 리디렉션할 수 있습니다.

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 및 암호를 기반으로 하는 새로 고침 토큰을 사용하여 사용자를 대신하여 수행하는 작업을 승인합니다. 이 단원에서는 ASK CLI를 사용하여 토큰을 만듭니다. 파이프라인 생성 마법사를 사용할 때 이 자격 증명을 사용합니다.

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. 파이프라인 유형에서 이 자습서의 목적에 맞는 V1을 선택합니다. V2를 선택할 수도 있지만 파이프라인 유형별 특성과 가격이 다르다는 점에 유의하십시오. 자세한 정보는 파이프라인 유형을 참조하세요.

  6. 서비스 역할에서 새 서비스 역할을 선택하면 IAM에서 서비스 역할을 생성할 수 CodePipeline 있습니다.

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

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

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

    다음을 선택합니다.

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

    다음을 선택합니다.

  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. 다음을 선택합니다.

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

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

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