

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

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

# GitHub Actions와 통합
<a name="integrations-github-actions"></a>

*GitHub 작업*은 GitHub 워크플로와 함께 사용하도록 개발되었다는 점을 제외하면 [CodeCatalyst 작업](workflows-actions.md#workflows-actions-types-cc)과 매우 유사합니다. GitHub Actions에 대한 자세한 내용은 [GitHub Actions](https://docs.github.com/en/actions) 설명서를 참조하세요.

CodeCatalyst 워크플로에서 기본 CodeCatalyst 작업과 함께 GitHub Actions를 사용할 수 있습니다.

CodeCatalyst 워크플로에 GitHub 작업을 추가하는 방법은 두 가지가 있습니다.
+ CodeCatalyst 콘솔의 큐레이션된 목록에서 GitHub 작업을 선택할 수 있습니다. 몇 가지 인기 있는 GitHub Actions를 사용할 수 있습니다. 자세한 내용은 [큐레이션된 GitHub 작업 추가](integrations-github-action-add-curated.md) 섹션을 참조하세요.
+ CodeCatalyst 콘솔에서 사용하려는 GitHub Actions를 사용할 수 없는 경우 **GitHub Actions** 작업을 사용하여 추가할 수 있습니다.

  ***GitHub Actions*** 작업은 GitHub Actions를 래핑하고 CodeCatalyst 워크플로와 호환되는 *CodeCatalyst 작업*입니다.

  다음은 [Super-Linter](https://github.com/marketplace/actions/super-linter) GitHub Actions를 래핑하는 **GitHub Actions**의 예입니다.

  ```
  Actions:
    GitHubAction:
      Identifier: aws/github-actions-runner@v1
      Configuration:
        Steps:
          - name: Lint Code Base
            uses: github/super-linter@v4
            env:
              VALIDATE_ALL_CODEBASE: "true"
              DEFAULT_BRANCH: main
  ```

  이전 코드에서 CodeCatalyst **GitHub Actions** 작업(`aws/github-actions-runner@v1`로 식별됨)은 Super-Linter OSS 작업(`github/super-linter@v4`로 식별됨)을 래핑하여 CodeCatalyst 워크플로에서 작동하도록 합니다.

  자세한 내용은 ['GitHub Actions' 작업 추가](integrations-github-action-add.md) 섹션을 참조하세요.

이전 예시와 같이 큐레이션된 작업과 큐레이션되지 않은 모든 GitHub Actions는 **GitHub Actions**(`aws/github-actions-runner@v1`)으로 래핑해야 합니다. 작업이 제대로 작동하려면 래퍼가 필요합니다.

**Topics**
+ [GitHub Actions는 CodeCatalyst 작업과 어떻게 다릅니까?](#integrations-github-actions-how-different)
+ [GitHub Actions는 워크플로의 다른 CodeCatalyst 작업과 상호 작용할 수 있습니까?](#integrations-github-actions-interactions.title)
+ [어떤 GitHub Actions를 사용할 수 있나요?](#integrations-github-actions-supported)
+ [CodeCatalyst의 GitHub Actions 제한 사항](#integrations-github-actions-limitations)
+ [GitHub 작업(상위 단계)을 추가하려면 어떻게 해야 하나요?](#integrations-github-actions-how-to)
+ [GitHub 작업은 GitHub에서 실행되나요?](#integrations-github-actions-where-it-runs)
+ [GitHub 워크플로도 사용할 수 있나요?](#integrations-github-actions-workflows-support.title)
+ ['GitHub Actions' 작업에 사용되는 런타임 이미지](#integrations-github-actions-runtime)
+ [자습서: GitHub 작업을 사용한 린트 코드](integrations-github-action-tutorial.md)
+ ['GitHub Actions' 작업 추가](integrations-github-action-add.md)
+ [큐레이션된 GitHub 작업 추가](integrations-github-action-add-curated.md)
+ [GitHub 출력 파라미터 내보내기](integrations-github-action-export.md)
+ [GitHub 출력 파라미터 참조](integrations-github-action-referencing.md)
+ ['GitHub Actions' 작업 YAML](github-action-ref.md)

## GitHub Actions는 CodeCatalyst 작업과 어떻게 다릅니까?
<a name="integrations-github-actions-how-different"></a>

CodeCatalyst 워크플로 내에서 사용되는 GitHub Actions는 CodeCatalyst 작업 AWS 과 동일한 수준의 액세스 및 CodeCatalyst 기능(예: [환경](deploy-environments.md) 및 [문제](issues.md))과의 통합을 제공하지 않습니다. CodeCatalyst 

## GitHub Actions는 워크플로의 다른 CodeCatalyst 작업과 상호 작용할 수 있습니까?
<a name="integrations-github-actions-interactions.title"></a>

예. 예를 들어 GitHub Actions는 다른 CodeCatalyst 작업에서 생성된 변수를 입력으로 사용할 수 있으며, 출력 파라미터 및 아티팩트를 CodeCatalyst 작업과 공유할 수도 있습니다. 자세한 내용은 [GitHub 출력 파라미터 내보내기](integrations-github-action-export.md) 및 [GitHub 출력 파라미터 참조](integrations-github-action-referencing.md) 섹션을 참조하세요.

## 어떤 GitHub Actions를 사용할 수 있나요?
<a name="integrations-github-actions-supported"></a>

CodeCatalyst 콘솔을 통해 사용 가능한 모든 GitHub 작업과 [GitHub Marketplace](https://github.com/marketplace/actions)에서 사용 가능한 모든 GitHub 작업을 사용할 수 있습니다. Marketplace에서 GitHub 작업을 사용하기로 결정한 경우 다음 [제한](#integrations-github-actions-limitations) 사항에 유의하세요.

## CodeCatalyst의 GitHub Actions 제한 사항
<a name="integrations-github-actions-limitations"></a>
+ GitHub Actions는 CodeCatalyst [Lambda 컴퓨팅 유형](workflows-working-compute.md#compute.types)에 사용할 수 없습니다.
+ GitHub Actions는 이전 도구를 포함하는 [2022년 11월](build-images.md#build.previous-image) 런타임 환경 Docker 이미지에서 실행됩니다. 사용할 이미지 및 도구에 대한 자세한 내용은 [런타임 환경 이미지 지정](build-images.md) 섹션을 참조하세요.
+ 내부적으로 [`github` 컨텍스트](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context)를 사용하거나 GitHub 관련 리소스를 참조하는 GitHub Actions는 CodeCatalyst에서 지원되지 않습니다. 예를 들어 다음 작업은 CodeCatalyst에서 작동하지 않습니다.
  + GitHub 리소스를 추가, 변경 또는 업데이트하려는 작업입니다. 예를 들어 풀 요청을 업데이트하거나 GitHub에서 문제를 생성하는 작업이 있습니다.
  + [https://github.com/actions](https://github.com/actions) 나열된 거의 모든 작업이 이에 해당합니다.
+ [Docker 컨테이너 작업](https://docs.github.com/en/actions/creating-actions/about-custom-actions#docker-container-actions)인 GitHub Actions는 작동하지만, 빌드 프로젝트는 기본 Docker 사용자(루트)가 실행해야 합니다. 작업을 user 1001로 실행하지 않습니다. (작성 시점에서 사용자 user 1001은 GitHub 에서 작동하지만 CodeCatalyst에서는 작동하지 않습니다.) 자세한 내용은 [GitHub Actions에 대한 Dockerfile 지원](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions)의 [사용자](https://docs.github.com/en/actions/creating-actions/dockerfile-support-for-github-actions#user) 항목을 참조하세요.

CodeCatalyst 콘솔을 통해 사용할 수 있는 GitHub Actions 목록은 [큐레이션된 GitHub 작업 추가](integrations-github-action-add-curated.md) 섹션을 참조하세요.

## GitHub 작업(상위 단계)을 추가하려면 어떻게 해야 하나요?
<a name="integrations-github-actions-how-to"></a>

GitHub 작업을 CodeCatalyst 워크플로에 추가하는 간략한 단계는 다음과 같습니다.

1. CodeCatalyst 프로젝트에서 **워크플로를 생성**합니다. 워크플로에서는 애플리케이션을 빌드, 테스트 및 배포하는 방법을 정의합니다. 자세한 내용은 [워크플로 시작하기](workflows-getting-started.md) 섹션을 참조하세요.

1. 워크플로에서 **큐레이션된 GitHub Actions를 추가**하거나 **GitHub Actions** 작업을 추가합니다.

1. 다음 중 하나를 수행할 수 있습니다.
   + 큐레이션된 작업을 추가하기로 선택한 경우 구성합니다. 자세한 내용은 [큐레이션된 GitHub 작업 추가](integrations-github-action-add-curated.md) 섹션을 참조하세요.
   + 큐레이션되지 않은 작업을 추가하기로 선택한 경우 **GitHub Actions** 작업 내에서 **GitHub Actions의 YAML 코드**를 붙여넣습니다. 이 코드는 [GitHub Marketplace](https://github.com/marketplace/actions)에서 선택한 GitHub 작업의 세부 정보 페이지에서 찾을 수 있습니다. CodeCatalyst에서 작동하려면 코드를 약간 수정해야 할 수 있습니다. 자세한 내용은 ['GitHub Actions' 작업 추가](integrations-github-action-add.md) 섹션을 참조하세요.

1. (선택 사항) 워크플로 내에 빌드 및 테스트 작업과 같은 **다른 작업을 추가**합니다. 자세한 내용은 [워크플로를 사용하여 빌드, 테스트 및 배포워크플로를 사용하여 빌드, 테스트 및 배포](workflow.md) 섹션을 참조하세요.

1. 트리거를 통해 **워크플로를 수동으로 또는 자동으로 시작**합니다. 워크플로는 GitHub 작업과 워크플로의 기타 작업을 실행합니다. 자세한 내용은 [워크플로 수동 실행 시작](workflows-manually-start.md) 섹션을 참조하세요.

자세한 단계는 다음을 참조하세요.
+ [큐레이션된 GitHub 작업 추가](integrations-github-action-add-curated.md).
+ ['GitHub Actions' 작업 추가](integrations-github-action-add.md).

## GitHub 작업은 GitHub에서 실행되나요?
<a name="integrations-github-actions-where-it-runs"></a>

아니요. GitHub 작업은 CodeCatalyst의 [런타임 환경 이미지](workflows-working-compute.md)를 사용하여 CodeCatalyst에서 실행됩니다.

## GitHub 워크플로도 사용할 수 있나요?
<a name="integrations-github-actions-workflows-support.title"></a>

아니요.

## 'GitHub Actions' 작업에 사용되는 런타임 이미지
<a name="integrations-github-actions-runtime"></a>

CodeCatalyst **GitHub Actions** 작업은 [2022년 11월 이미지](build-images.md#build.previous-image)에서 실행됩니다. 자세한 내용은 [활성 이미지](build-images.md#build-curated-images) 섹션을 참조하세요.