런타임 환경 이미지 지정 - Amazon CodeCatalyst

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

런타임 환경 이미지 지정

런타임 환경 이미지는 워크플로 작업을 CodeCatalyst 실행하는 Docker 컨테이너입니다. Docker 컨테이너는 선택한 컴퓨팅 플랫폼에서 실행되며, 운영 체제와 워크플로 작업에 필요할 수 있는 추가 도구 (예:, Node.js AWS CLI, .tar) 를 포함합니다.

기본적으로 워크플로 작업은 에서 제공하고 유지 관리하는 활성 이미지 중 하나에서 실행됩니다. CodeCatalyst 빌드 및 테스트 작업만 사용자 지정 이미지를 지원합니다. 자세한 내용은 액션에 사용자 지정 런타임 환경 Docker 이미지 할당 단원을 참조하십시오.

활성 이미지

액티브 이미지는 사전 설치된 도구가 완벽하게 지원되고 이를 포함하는 런타임 환경 이미지입니다. CodeCatalyst 현재 두 세트의 활성 이미지가 있습니다. 하나는 2024년 3월에 릴리스되고 다른 하나는 2022년 11월에 릴리스됩니다.

액션에서 2024년 3월 이미지를 사용할지 2022년 11월 이미지를 사용할지는 액션에 따라 달라집니다.

2024년 3월 이미지

2024년 3월 이미지는 에서 제공한 최신 이미지입니다. CodeCatalyst 컴퓨팅 유형/플릿 조합당 2024년 3월 이미지 1개가 있습니다.

다음 표는 2024년 3월 각 이미지에 설치된 도구를 보여줍니다.

2024년 3월 이미지 도구
도구 CodeCatalyst EC2리눅스용 아마존 x86_64 - CodeCatalystLinux_x86_64:2024_03 CodeCatalyst 리눅스 x86_64용 람다 - CodeCatalystLinuxLambda_x86_64:2024_03 CodeCatalyst 리눅스 EC2 Arm64용 아마존 - CodeCatalystLinux_Arm64:2024_03 CodeCatalyst 리눅스 ARM64용 람다 - CodeCatalystLinuxLambda_Arm64:2024_03
AWS CLI 2.15.17 2.15.17 2.15.17 2.15.17
AWS 부파일럿 CLI 1.32.1 1.32.1 1.32.1 1.32.1
Docker 24.0.9 N/A 24.0.9 N/A
Docker Compose 2.23.3 N/A 2.23.3 N/A
Git 2.43.0 2.43.0 2.43.0 2.43.0
Go 1.21.5 1.21.5 1.21.5 1.21.5
Gradle 8.5 8.5 8.5 8.5
Java 코레토 17 17로 수정 17로 수정 17로 수정
Maven 3.9.6 3.9.6 3.9.6 3.9.6
Node.js 18.19.0 18.19.0 18.19.0 18.19.0
npm 10.2.3 10.2.3 10.2.3 10.2.3
Python 3.9.18 3.9.18 3.9.18 3.9.18
Python3 3.11.6 3.11.6 3.11.6 3.11.6
pip 22.3.1 22.3.1 22.3.1 22.3.1
.NET 8.0.100 8.0.100 8.0.100 8.0.100

2022년 11월 이미지

컴퓨팅 유형/플릿 조합당 2022년 11월 이미지 1개가 있습니다. 프로비저닝된 플릿을 구성한 경우 빌드 작업과 함께 2022년 11월 Windows 이미지도 사용할 수 있습니다.

다음 표는 2022년 11월 각 이미지에 설치된 도구를 보여줍니다.

2022년 11월 이미지 도구
도구 CodeCatalyst EC2리눅스용 아마존 x86_64 - CodeCatalystLinux_x86_64:2022_11 CodeCatalyst 리눅스 x86_64용 람다 - CodeCatalystLinuxLambda_x86_64:2022_11 CodeCatalyst 리눅스 EC2 Arm64용 아마존 - CodeCatalystLinux_Arm64:2022_11 CodeCatalyst 리눅스 ARM64용 람다 - CodeCatalystLinuxLambda_Arm64:2022_11 CodeCatalyst 윈도우 EC2 x86_64용 아마존 - CodeCatalystWindows_x86_64:2022_11
AWS CLI 2.15.17 2.15.17 2.15.17 2.15.17 2.13.19
AWS 부파일럿 CLI 0.6.0 0.6.0 N/A N/A 1.30.1
Docker 23.01 N/A 23.0.1 N/A N/A
Docker Compose 2.16.0 N/A 2.16.0 N/A N/A
Git 2.40.0 2.40.0 2.39.2 2.39.2 2.42.0
Go 1.20.2 1.20.2 1.20.1 1.20.1 1.19
Gradle 8.0.2 8.0.2 8.0.1 8.0.1 8.3
Java 17로 수정 17로 수정 17로 수정 17로 수정 17로 수정
Maven 3.9.4 3.9.4 3.9.0 3.9.0 3.9.4
Node.js 16.20.2 16.20.2 16.19.1 16.14.2 16.20.0
npm 8.19.4 8.19.4 8.19.3 8.5.0 8.19.4
Python 3.9.15 2.7.18 3.11.2 2.7.18 3.9.13
Python3 N/A 3.9.15 N/A 3.11.2 N/A
pip 22.2.2 22.2.2 23.0.1 23.0.1 22.0.4
.NET 6.0.407 6.0.407 6.0.406 6.0.406 6.0.414

활성 이미지에 필요한 도구가 포함되어 있지 않으면 어떻게 되나요?

에서 제공하는 CodeCatalyst 활성 이미지에 필요한 도구가 없는 경우 다음 두 가지 옵션을 사용할 수 있습니다.

  • 필요한 도구가 포함된 사용자 지정 런타임 환경 Docker 이미지를 제공할 수 있습니다. 자세한 내용은 액션에 사용자 지정 런타임 환경 Docker 이미지 할당 단원을 참조하십시오.

    참고

    사용자 지정 런타임 환경 Docker 이미지를 제공하려면 사용자 지정 이미지에 Git이 설치되어 있어야 합니다.

  • 워크플로의 빌드 또는 테스트 작업에서 필요한 도구를 설치하도록 할 수 있습니다.

    예를 들어 빌드 또는 테스트 작업 YAML 코드의 Steps 섹션에 다음 지침을 포함할 수 있습니다.

    Configuration: Steps: - Run: ./setup-script

    The setup-script 그러면 다음 스크립트를 실행하여 Node 패키지 관리자 (npm) 를 설치합니다.

    #!/usr/bin/env bash echo "Setting up environment" touch ~/.bashrc curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc nvm install v16.1.0 source ~/.bashrc

    빌드 작업에 대한 자세한 내용은 YAML 을 참조하십시오빌드 및 테스트 작업 YAML.

액션에 사용자 지정 런타임 환경 Docker 이미지 할당

에서 제공하는 Active 이미지를 사용하지 않으려면 사용자 지정 런타임 환경 Docker 이미지를 제공할 수 있습니다. CodeCatalyst 사용자 지정 이미지를 제공하려면 이미지에 Git이 설치되어 있어야 합니다. 이미지는 Docker Hub, Amazon Elastic 컨테이너 레지스트리 또는 모든 공개 리포지토리에 있을 수 있습니다.

사용자 지정 Docker 이미지를 생성하는 방법을 알아보려면 Docker 설명서의 애플리케이션 컨테이너화를 참조하십시오.

다음 지침을 사용하여 사용자 지정 런타임 환경 Docker 이미지를 작업에 할당하세요. 이미지를 지정한 후 작업이 시작되면 컴퓨팅 플랫폼에 이미지를 CodeCatalyst 배포합니다.

참고

AWS CloudFormation 스택 배포, 배포 대상, 작업 등의 작업은 사용자 지정 런타임 환경 Docker 이미지를 지원하지 않습니다. 사용자 지정 런타임 환경 Docker 이미지도 Lambda 컴퓨팅 유형을 지원하지 않습니다. ECS GitHub

Visual
비주얼 편집기를 사용하여 사용자 지정 런타임 환경 Docker 이미지를 할당하려면
  1. https://codecatalyst.aws/ 에서 CodeCatalyst 콘솔을 엽니다.

  2. 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  3. 워크플로의 이름을 선택합니다. 워크플로가 정의된 소스 리포지토리 또는 브랜치 이름을 기준으로 필터링하거나 워크플로 이름 또는 상태별로 필터링할 수 있습니다.

  4. 편집을 선택합니다.

  5. Visual을 선택합니다.

  6. 워크플로 다이어그램에서 사용자 지정 런타임 환경 Docker 이미지를 사용할 작업을 선택합니다.

  7. 구성 탭을 선택합니다.

  8. 하단 근처에서 다음 필드를 채우십시오.

    런타임 환경 Docker 이미지 - 선택 사항

    이미지가 저장되는 레지스트리를 지정합니다. 유효한 값으로는 다음이 포함됩니다.

    • CODECATALYST(YAML편집자)

      이미지는 CodeCatalyst 레지스트리에 저장됩니다.

    • Docker Hub (비주얼 에디터) 또는 DockerHub (YAML에디터)

      이미지는 Docker Hub 이미지 레지스트리에 저장됩니다.

    • 기타 레지스트리 (비주얼 에디터) 또는 Other (YAML에디터)

      이미지는 사용자 지정 이미지 레지스트리에 저장됩니다. 공개적으로 사용 가능한 모든 레지스트리를 사용할 수 있습니다.

    • Amazon Elastic 컨테이너 레지스트리 (비주얼 에디터) 또는 ECR (YAML에디터)

      이미지는 Amazon Elastic 컨테이너 레지스트리 이미지 리포지토리에 저장됩니다. Amazon ECR 리포지토리의 이미지를 사용하려면 이 작업을 수행하려면 Amazon에 대한 액세스 권한이 필요합니다ECR. 이 액세스를 활성화하려면 다음 권한과 사용자 지정 신뢰 정책을 포함하는 IAM역할을 생성해야 합니다. (원하는 경우 권한과 정책을 포함하도록 기존 역할을 수정할 수 있습니다.)

      IAM역할의 역할 정책에 다음 권한이 포함되어야 합니다.

      • ecr:BatchCheckLayerAvailability

      • ecr:BatchGetImage

      • ecr:GetAuthorizationToken

      • ecr:GetDownloadUrlForLayer

      IAM역할에는 다음과 같은 사용자 지정 신뢰 정책이 포함되어야 합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

      IAM역할을 만드는 방법에 대한 자세한 내용은 사용 설명서의 사용자 지정 신뢰 정책을 사용하여 역할 만들기 (콘솔)IAM참조하십시오.

      역할을 만든 후에는 환경을 통해 작업에 할당해야 합니다. 자세한 내용은 작업과 환경 연결 단원을 참조하십시오.

    ECR이미지 URL, Docker Hub 이미지 또는 이미지 URL

    다음 중 하나를 지정하세요.

    • CODECATALYST레지스트리를 사용하는 경우 이미지를 다음 활성 이미지 중 하나로 설정합니다.

      • CodeCatalystLinux_x86_64:2024_03

      • CodeCatalystLinux_x86_64:2022_11

      • CodeCatalystLinux_Arm64:2024_03

      • CodeCatalystLinux_Arm64:2022_11

      • CodeCatalystLinuxLambda_x86_64:2024_03

      • CodeCatalystLinuxLambda_x86_64:2022_11

      • CodeCatalystLinuxLambda_Arm64:2024_03

      • CodeCatalystLinuxLambda_Arm64:2022_11

      • CodeCatalystWindows_x86_64:2022_11

    • Docker Hub 레지스트리를 사용하는 경우 이미지를 Docker Hub 이미지 이름 및 선택적 태그로 설정합니다.

      예제: postgres:latest

    • Amazon ECR 레지스트리를 사용하는 경우 이미지를 Amazon ECR 레지스트리로 설정하십시오URI.

      예제: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

    • 사용자 지정 레지스트리를 사용하는 경우 이미지를 사용자 지정 레지스트리에서 예상하는 값으로 설정하십시오.

  9. (선택 사항) 커밋하기 전에 워크플로우 YAML 코드의 유효성을 검사하려면 [Validate] 를 선택합니다.

  10. [커밋] 을 선택하고 커밋 메시지를 입력한 다음 [커밋] 을 다시 선택합니다.

YAML
편집기를 사용하여 사용자 지정 런타임 환경 Docker 이미지를 할당하려면 YAML
  1. 탐색 창에서 CI/CD를 선택한 다음 워크플로를 선택합니다.

  2. 워크플로의 이름을 선택합니다. 워크플로가 정의된 소스 리포지토리 또는 브랜치 이름을 기준으로 필터링하거나 워크플로 이름 또는 상태별로 필터링할 수 있습니다.

  3. 편집을 선택합니다.

  4. 선택합니다 YAML.

  5. 런타임 환경 Docker 이미지를 할당하려는 작업을 찾습니다.

  6. 액션에서 Container 섹션과 기본 RegistryImage 속성을 추가합니다. 자세한 내용은 작업에 대한Container, RegistryImage 속성에 작업 대한 설명을 참조하십시오.

  7. (선택 사항) 커밋하기 전에 [Validate] 를 선택하여 워크플로우 YAML 코드의 유효성을 검사하십시오.

  8. [커밋] 을 선택하고 커밋 메시지를 입력한 다음 [커밋] 을 다시 선택합니다.

예시

다음 예제는 워크플로 정의 파일의 작업에 사용자 지정 런타임 환경 Docker 이미지를 할당하는 방법을 보여줍니다.

예: 사용자 지정 런타임 환경 Docker 이미지를 사용하여 Amazon에서 Node.js 18에 대한 지원 추가 ECR

다음 예제는 사용자 지정 런타임 환경 Docker 이미지를 사용하여 ECRAmazon에서 Node.js 18에 대한 지원을 추가하는 방법을 보여줍니다.

Configuration: Container: Registry: ECR Image: public.ecr.aws/amazonlinux/amazonlinux:2023

예: 사용자 지정 런타임 환경 Docker 이미지를 사용하여 Docker Hub에 Node.js 18에 대한 지원 추가

다음 예제는 사용자 지정 런타임 환경 Docker 이미지를 사용하여 Docker Hub와 함께 Node.js 18에 대한 지원을 추가하는 방법을 보여줍니다.

Configuration: Container: Registry: DockerHub Image: node:18.18.2