devfile은 팀 전체에서 개발 환경을 사용자 지정하는 데 도움이 되는 개방형 표준입니다. devfile은 필요한 개발 도구를 코드화하는 YAML 파일입니다. devfile을 구성하면 필요한 프로젝트 도구 및 애플리케이션 라이브러리를 미리 결정할 수 있으며 Amazon CodeCatalyst가 이를 개발 환경에 설치합니다. devfile은 생성된 리포지토리에 따라 다르며 각 리포지토리에 대해 별도의 devfile을 생성할 수 있습니다. 개발 환경은 명령 및 이벤트를 지원하며 기본 범용 devfile 이미지를 제공합니다.
빈 블루프린트를 사용하여 프로젝트를 생성하는 경우 devfile을 수동으로 생성할 수 있습니다. 다른 블루프린트를 사용하여 프로젝트를 생성하는 경우 CodeCatalyst는 devfile을 자동으로 생성합니다. 개발 환경의 /projects
디렉터리는 소스 리포지토리와 devfile에서 가져온 파일을 저장합니다. 개발 환경을 처음 생성할 때 비어 있는 /home
디렉터리는 개발 환경을 사용하는 동안 생성한 파일을 저장합니다. 개발 환경의 /projects
및 /home
디렉터리에 있는 모든 항목은 영구적으로 저장됩니다.
참고
/home
폴더는 devfile 또는 devfile 구성 요소 이름의 이름을 변경하는 경우에만 변경됩니다. devfile 또는 devfile 구성 요소 이름을 변경하면 /home
디렉터리의 내용이 대체되고 이전 /home
디렉터리 데이터를 복구할 수 없습니다.
루트에 devfile이 포함되지 않은 소스 리포지토리로 개발 환경을 생성하거나 소스 리포지토리 없이 개발 환경을 생성하는 경우 기본 범용 devfile이 소스 리포지토리에 자동으로 적용됩니다. 모든 IDE에 동일한 기본 범용 devfile 이미지가 사용됩니다. CodeCatalyst는 현재 devfile 버전 2.0.0을 지원합니다. devfile에 대한 자세한 내용은 Devfile 스키마 - 버전 2.0.0
참고
Devfile에는 퍼블릭 컨테이너 이미지만 포함할 수 있습니다.
VPC 연결 개발 환경은 다음 devfile 이미지만 지원합니다.
-
유니버설 이미지
-
리포지토리가 VPC와 동일한 리전에 있는 경우 프라이빗 Amazon ECR 이미지
주제
CodeCatalyst에서 지원하는 Devfile 기능
CodeCatalyst는 버전 2.0.0에서 다음과 같은 devfile 기능을 지원합니다. devfile에 대한 자세한 내용은 Devfile 스키마 - 버전 2.0.0
기능 | 유형 |
---|---|
|
Command |
|
Event |
|
구성 요소 |
|
구성 요소 속성 |
|
구성 요소 속성 |
|
구성 요소 속성 |
|
구성 요소 속성 |
개발 환경용 devfile의 예
다음은 간단한 devfile의 예입니다.
schemaVersion: 2.0.0
metadata:
name: al2
components:
- name: test
container:
image: public.ecr.aws/amazonlinux/amazonlinux:2
mountSources: true
command: ['sleep', 'infinity']
- name: dockerstore
commands:
- id: setupscript
exec:
component: test
commandLine: "chmod +x script.sh"
workingDir: /projects/devfiles
- id: executescript
exec:
component: test
commandLine: "/projects/devfiles/script.sh"
- id: yumupdate
exec:
component: test
commandLine: "yum -y update --security"
events:
postStart:
- setupscript
- executescript
- yumupdate
Devfile 시작, 명령 및 이벤트 로그는 캡처되어 /aws/mde/logs
에 저장됩니다. devfile 동작을 디버깅하려면 작업 devfile을 사용하여 개발 환경을 시작하고 로그에 액세스합니다.
복구 모드를 사용하여 리포지토리 devfile 문제 해결
devfile을 시작하는 데 문제가 있는 경우 복구 모드로 전환되므로 환경에 계속 연결하고 devfile을 수정할 수 있습니다. 복구 모드에 있는 동안 /aws/mde/mde status
실행에는 devfile의 위치가 포함되지 않습니다.
{
"status": "STABLE"
}
/aws/mde/logs
의 로그에서 오류를 확인하고, devfile을 수정하고, 다시 /aws/mde/mde start
실행을 시도할 수 있습니다.