커스텀 블루프린트 컨셉 - 아마존 CodeCatalyst

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

커스텀 블루프린트 컨셉

에서 커스텀 블루프린트로 작업할 때 알아두어야 할 몇 가지 개념과 용어를 소개합니다. CodeCatalyst

블루프린트 프로젝트

블루프린트 프로젝트를 사용하면 블루프린트를 개발하여 공간에 게시할 수 있습니다. 소스 리포지토리는 프로젝트 생성 프로세스 중에 생성되며 리포지토리 이름은 프로젝트 리소스 세부 정보를 입력할 때 선택한 이름입니다. 블루프린트 생성 프로세스 중에 워크플로 릴리스를 생성하기로 선택하면 블루프린트 빌더 블루프린트와 함께 블루프린트에 퍼블리싱 워크플로가 생성됩니다. 워크플로는 최신 버전을 자동으로 퍼블리시합니다.

우주 청사진

스페이스의 블루프린트 섹션으로 이동하면 스페이스 블루프린트 테이블에서 모든 블루프린트를 보고 관리할 수 있습니다. 블루프린트가 스페이스에 게시되고 나면 스페이스 청사진으로 사용할 수 있게 되어 스페이스의 청사진 카탈로그에서 추가하고 제거할 수 있습니다. 스페이스의 Blueprints 섹션에서 게시 권한을 관리하고 청사진을 삭제할 수도 있습니다. 자세한 정보는 커스텀 블루프린트의 세부 정보, 버전, 프로젝트 보기을 참조하세요.

우주 청사진 카탈로그

스페이스의 청사진 카탈로그에서 추가된 모든 사용자 지정 청사진을 볼 수 있습니다. 여기서 스페이스 구성원은 사용자 지정 청사진을 선택하여 새 프로젝트를 만들 수 있습니다. 이 카탈로그는 모든 스페이스 구성원이 사용할 수 있는 청사진이 이미 있는 CodeCatalyst 카탈로그와는 다릅니다. 자세한 정보는 CodeCatalyst 청사진이 포함된 포괄적인 프로젝트 만들기을 참조하세요.

종합

합성은 프로젝트의 소스 코드, 구성 및 리소스를 나타내는 CodeCatalyst 프로젝트 번들을 생성하는 프로세스입니다. 그런 다음 CodeCatalyst 배포 API 작업에서 번들을 사용하여 프로젝트에 배포합니다. 에서 프로젝트를 생성하지 않고도 프로젝트 생성을 에뮬레이션하는 사용자 지정 블루프린트를 개발하는 동안 프로세스를 로컬에서 실행할 수 있습니다. CodeCatalyst 다음 명령을 사용하여 합성을 수행할 수 있습니다.

yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode

블루프린트는 해당 옵션이 병합된 상태에서 메인 blueprint.ts 클래스를 호출하는 것으로 저절로 시작됩니다. defaults.json 폴더 아래에 새 프로젝트 번들이 synth/synth.[options-name]/proposed-bundle/ 생성됩니다. 출력에는 사용자가 설정한 옵션에 따라 커스텀 블루프린트가 생성하는 프로젝트 번들이 포함됩니다. 여기에는 사용자가 구성했을 수도 있는 부분 옵션도 포함됩니다.

재합성

재합성은 다양한 청사진 옵션 또는 기존 프로젝트의 청사진 버전을 사용하여 청사진을 재생성하는 과정입니다. 블루프린트 작성자는 커스텀 블루프린트 코드에서 커스텀 병합 전략을 정의할 수 있습니다. 또한 에서 소유권 경계를 .ownership-file 정의하여 코드베이스의 어느 부분에서 블루프린트를 업데이트할 수 있는지 지정할 수 있습니다. 사용자 지정 블루프린트에서 업데이트를 제안할 수 있지만.ownership-file, 사용자 지정 블루프린트를 사용하는 프로젝트 개발자는 프로젝트의 소유권 경계를 결정할 수 있습니다. 로컬에서 재합성을 실행하고 커스텀 블루프린트를 게시하기 전에 테스트 및 업데이트할 수 있습니다. 다음 명령어를 사용하여 재합성을 수행하십시오.

yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode

블루프린트는 해당 옵션이 병합된 상태에서 메인 blueprint.ts 클래스를 호출하는 것으로 저절로 시작됩니다. defaults.json 폴더 아래에 새 프로젝트 번들이 synth/resynth.[options-name]/ 생성됩니다. 출력에는 사용자가 설정한 옵션에 따라 커스텀 블루프린트가 생성하는 프로젝트 번들이 포함됩니다. 여기에는 사용자가 구성했을 수도 있는 부분 옵션도 포함됩니다.

다음 콘텐츠는 합성 및 재합성 프로세스 후에 생성됩니다.

  • 제안 번들 - 대상 블루프린트 버전에 새 옵션을 적용해 실행했을 때의 합성 결과입니다.

  • 기존 번들 - 기존 프로젝트를 모방한 것입니다. 이 폴더에 아무것도 없으면 이 폴더와 동일한 출력으로 생성됩니다. proposed-bundle

  • ancestor-bundle - 이전 버전, 이전 옵션 또는 조합을 사용하여 실행했을 때 블루프린트가 생성하는 것을 모방한 것입니다. 이 폴더에 아무것도 없으면 와 같은 출력으로 생성됩니다. proposed-bundle

  • resolved-bundle - 번들은 항상 재생성되며,,,, 사이의 3방향 병합이 기본값입니다. proposed-bundle existing-bundle ancestor-bundle 이 번들은 재합성이 로컬에서 출력하는 결과를 에뮬레이션합니다.

블루프린트 출력 번들에 대한 자세한 내용은 을 참조하십시오. 재합성을 통한 파일 생성

부분 옵션

Options인터페이스 전체를 src/wizard-configuration/ 열거할 필요 없이 옵션 변형을 추가할 수 있으며 옵션은 파일 상단에 병합됩니다. defaults.json 이를 통해 특정 옵션에 맞게 테스트 사례를 조정할 수 있습니다.

예:

Options인터페이스:

{ language: "Python" | "Java" | "Typescript", repositoryName: string ... }

defaults.json 파일:

{ language: "Python", repositoryName: "Myrepo" ... }

추가 구성 테스트:

  • #wizard-config-typescript-test.json { language: "Typescript", }
  • #wizard-config-java-test.json { language: "Java", }

프로젝트

Progen은 커스텀 블루프린트가 자체적으로 업데이트되고 일관성을 유지하는 데 사용하는 오픈 소스 도구입니다. 블루프린트가 Projen 패키지로 제공되는 이유는 이 프레임워크가 프로젝트를 빌드, 번들 및 퍼블리싱하는 기능을 제공하고 인터페이스를 사용하여 프로젝트의 구성 및 설정을 관리할 수 있기 때문입니다.

Projen을 사용하면 블루프린트를 만든 후에도 대규모로 업데이트할 수 있습니다. Projen 툴은 프로젝트 번들을 생성하는 블루프린트 합성을 뒷받침하는 기반 기술입니다. Projen은 프로젝트의 구성을 소유하므로 청사진 작성자인 여러분에게 영향을 미치지 않아야 합니다. 종속성을 추가한 후 yarn projen 를 실행하여 프로젝트 구성을 다시 생성하거나 파일에서 옵션을 변경할 수 있습니다. projenrc.ts Projen은 프로젝트를 합성하기 위한 커스텀 블루프린트의 기본 생성 도구이기도 합니다. 자세한 내용은 projen 페이지를 참조하십시오. GitHub Projen을 사용하는 방법에 대해 자세히 알아보려면 Projen 설명서 및 Projen을 사용하여 프로젝트 설정을 간소화하는 방법을 참조하십시오.