Amazon CodeCatalyst는 2025년 11월 7일부터 신규 고객에게 더 이상 공개되지 않습니다. 서비스를 사용하려면 2025년 11월 7일 이전에 가입하세요. 자세한 내용은 CodeCatalyst에서 마이그레이션하는 방법 단원을 참조하십시오.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
블루프린트에 리포지토리 및 소스 코드 구성 요소 추가
Amazon CodeCatalyst는 리포지토리를 사용하여 코드를 저장합니다. 리포지토리는 이름을 입력으로 사용합니다. 대부분의 구성 요소는 소스 코드 파일, 워크플로 및 관리형 개발 환경(MDE)과 같은 기타 구성 요소와 같은 리포지토리에 저장됩니다. 소스 리포지토리 구성 요소는 파일 및 정적 자산 관리에 사용되는 구성 요소도 내보냅니다. 리포지토리에는 이름 제약이 있습니다. 자세한 내용은 CodeCatalyst의 소스 리포지토리로 코드 저장 및 협업 섹션을 참조하세요.
const repository = new SourceRepository(this, { title: 'my-new-repository-title', });
Amazon CodeCatalyst 블루프린트 리포지토리 및 소스 코드 구성 요소를 가져오려면
다음을 blueprint.ts 파일에 추가합니다.
import {...} from '@caws-blueprint-component/caws-source-repositories'
파일 추가
SourceFile 구문을 사용하여 리포지토리에 텍스트 파일을 쓸 수 있습니다. 작업은 가장 일반적인 사용 사례 중 하나이며 리포지토리, 파일 경로 및 텍스트 콘텐츠를 사용합니다. 리포지토리 내에 파일 경로가 없는 경우 구성 요소는 필요한 모든 폴더를 생성합니다.
new SourceFile(repository, `path/to/my/file/in/repo/file.txt`, 'my file contents');
참고
동일한 리포지토리 내의 동일한 위치에 두 파일을 쓰면 가장 최근의 구현이 이전 파일을 덮어씁니다. 이 기능을 사용하여 생성된 코드를 계층화할 수 있으며, 사용자 지정 블루프린트가 생성했을 수 있는 코드를 확장하는 데 특히 유용합니다.
일반 파일 추가
리포지토리에 임의 비트를 쓸 수 있습니다. 버퍼에서 읽고 File 구문을 사용할 수 있습니다.
new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());
파일 복사
스타터 코드를 복사하여 붙여넣은 다음 해당 베이스 위에 더 많은 코드를 생성하여 생성된 코드를 시작할 수 있습니다. static-assets 디렉터리 내에 코드를 배치한 다음 StaticAsset 구문으로 해당 코드를 대상으로 지정합니다. 이 경우 경로는 항상 static-assets 디렉터리의 루트에서 시작됩니다.
const starterCode = new StaticAsset('path/to/file/file.txt') const starterCodeText = new StaticAsset('path/to/file/file.txt').toString() const starterCodeRawContent = new StaticAsset('path/to/image/hello.png').content() const starterCodePath = new StaticAsset('path/to/image/hello.png').path() // starterCodePath is equal to 'path/to/image/hello.png'
StaticAsset의 하위 클래스는 SubstitutionAsset입니다. 하위 클래스는 정확히 동일한 함수를 사용하지만 대신 파일에서 콧수염 대체를 실행할 수 있습니다. 복사 및 교체 스타일 생성을 수행하는 데 유용할 수 있습니다.
정적 자산 대체는 머스타쉬 템플릿 엔진을 사용하여 생성된 소스 리포지토리에 시드되는 정적 파일을 렌더링합니다. 콧수염 템플릿 규칙은 렌더링 중에 적용되므로 모든 값은 기본적으로 HTML 인코딩됩니다. 이스케이프되지 않은 HTML을 렌더링하려면 {{{name}}} 트리플 머스타쉬 구문을 사용합니다. 자세한 내용은 머스타쉬 템플릿 규칙
참고
텍스트 해석이 불가능한 파일 대신 대체 파일을 실행하면 오류가 발생할 수 있습니다.
const starterCodeText = new SubstitionAsset('path/to/file/file.txt').subsitite({ 'my_variable': 'subbed value1', 'another_variable': 'subbed value2' })
여러 파일 대상으로 지정
정적 자산은 StaticAsset 및 그 하위 클래스 findAll(...)의 정적 함수를 통해 glob 타겟팅을 지원하며, 경로, 콘텐츠 등이 미리 로드된 정적 자산 목록을 반환합니다. 목록을 File 구문과 연결하여 static-assets 디렉터리에 콘텐츠를 복사하고 붙여넣을 수 있습니다.
new File(repository, `path/to/my/file/in/repo/file.img`, new Buffer(...)); new File(repository, `path/to/my/file/in/repo/new-img.img`, new StaticAsset('path/to/image.png').content());
새 리포지토리 생성 및 파일 추가
리포지토리 구성 요소를 사용하여 생성된 프로젝트에 새 리포지토리를 생성할 수 있습니다. 그런 다음 생성된 리포지토리에 파일 또는 워크플로를 추가할 수 있습니다.
import { SourceRepository } from '@amazon-codecatalyst/codecatalyst-source-repositories'; ... const repository = new SourceRepository(this, { title: 'myRepo' });
다음 예시에서는 기존 리포지토리에 파일 및 워크플로를 추가하는 방법을 보여줍니다.
import { SourceFile } from '@amazon-codecatalyst/codecatalyst-source-repositories'; import { Workflow } from '@amazon-codecatalyst/codecatalyst-workflows'; ... new SourceFile(repository, 'README.md', 'This is the content of my readme'); new Workflow(this, repository, {/**...workflowDefinition...**/});
두 코드 조각을 결합하면 이름이 myRepo인 단일 리포지토리가 소스 파일 README.md 및 루트의 CodeCatalyst 워크플로와 함께 생성됩니다.