Skip to main content

사전 빌드에서 다른 리포지토리에 액세스할 수 있도록 허용

사전 빌드가 성공적으로 빌드될 수 있도록 다른 GitHub 리포지토리에 액세스하는 것을 허용할 수 습니다.

누가 이 기능을 사용할 수 있나요?

People with admin access to a repository can configure prebuilds for the repository.

GitHub Codespaces의 리포지토리 수준 설정은 개인 계정이 소유하는 모든 리포지토리에 사용할 수 있습니다.

조직이 소유한 리포지토리의 경우 GitHub Codespaces의 리포지토리 수준 설정은 GitHub Team 및 GitHub Enterprise 플랜의 조직에서 사용할 수 있습니다. 설정에 액세스하려면 조직 또는 부모 엔터프라이즈가 결제 방법을 추가하고 GitHub Codespaces의 지출 한도를 설정해야 합니다. 자세한 내용은 "조직에서 codespace를 소유하고 비용을 지불하는 사람 선택"과 "GitHub의 플랜"을 참조하세요.

기본적으로 사전 빌드 구성에 대한 GitHub Actions 워크플로는 자체 리포지토리 콘텐츠에만 액세스할 수 있습니다. 프로젝트는 다른 곳에 있는 추가 리소스를 사용하여 개발 환경을 빌드할 수 있습니다.

사전 빌드에서 외부 리소스 읽기 권한을 허용

사전 빌드 구성에서 사용하는 devcontainer.json 파일의 사용 권한을 지정하여 리포지토리 소유자가 동일한 다른 GitHub 리포지토리에 대한 읽기 권한을 구성할 수 있습니다. 자세한 내용은 "Codespace 내의 다른 리포지토리에 대한 액세스 관리"을(를) 참조하세요.

참고:

  • 이러한 방식으로 읽기 권한만 부여할 수 있으며 대상 리포지토리의 소유자는 사전 빌드를 만드는 리포지토리의 소유자와 동일해야 합니다. 예를 들어 octo-org/octocatrepository에 대한 사전 빌드 구성을 만드는 경우 이 사전 빌드 구성이 devcontainer.json 파일에 지정되어 있고 사용자에게 사용 권한이 있는 경우 asocto-org/octodemo 같은 다른 리포지토리에 대한 읽기 권한을 부여할 수 있습니다.
  • 와일드카드를 사용하여 리포지토리를 지정할 수 없습니다. 액세스 권한을 부여하려는 각 리포지토리에 대한 권한을 정의해야 합니다.

리포지토리 소유자가 동일한 다른 리포지토리에 대한 읽기 권한을 설정하는 devcontainer.json 파일에 대한 사전 빌드 구성을 만들거나 편집할 때 만들기 또는 업데이트를 클릭하면 이러한 권한을 부여하라는 메시지가 표시됩니다. 자세한 내용은 "사전 빌드 구성"을(를) 참조하세요.

사전 빌드에서 외부 리소스 쓰기 권한을 허용

프로젝트에 리소스에 대한 쓰기 권한이 필요하거나 사전 빌드 구성을 만드는 리포지토리와 다른 소유자가 있는 리포지토리에 외부 리소스가 있는 경우 personal access token을(를) 사용하여 이 액세스 권한을 부여할 수 있습니다.

새 개인 계정을 만든 다음 이 계정을 사용하여 적절한 범위의 personal access token (classic)을(를) 만들어야 합니다.

  1. GitHub에 새 개인 계정을 만듭니다.

    경고: 기존 개인 계정을 사용하여 personal access token (classic)을(를) 생성할 수 있지만 시나리오에 필요한 대상 리포지토리에만 액세스할 수 있는 새 계정을 만드는 것이 좋습니다. 액세스 토큰의 repository 권한이 계정에 액세스할 수 있는 모든 리포지토리에 대한 액세스 권한을 부여하기 때문입니다. 자세한 내용은 "GitHub에서 계정 생성하기" 및 "GitHub Actions에 대한 보안 강화"을(를) 참조하세요.

  2. 새 계정에 필요한 리포지토리에 대한 읽기 권한을 부여합니다. 자세한 내용은 "조직 리포지토리에 대한 개인 액세스 권한 관리"을(를) 참조하세요.

  3. 새 계정에 로그인한 상태에서 repo 범위로 personal access token (classic)을(를) 만듭니다. 필요에 따라 사전 빌드가 GitHub Container registry에서 패키지를 다운로드해야 하는 경우 read:packages 범위도 선택합니다. 자세한 내용은 "개인용 액세스 토큰 관리"을(를) 참조하세요.

    "리포지토리" 및 "read:packages" 범위가 선택된 personal access token (classic)에 대한 "범위 선택" 구성 옵션의 스크린샷입니다.

    사전 빌드에서 GitHub Container registry의 패키지를 사용하는 경우 패키지에 대한 새 계정 액세스 권한을 부여하거나 사전 빌드 중인 리포지토리의 액세스 권한을 상속하도록 패키지를 구성해야 합니다. 자세한 내용은 "패키지의 액세스 제어 및 표시 여부 구성"을(를) 참조하세요.

  4. 토큰 문자열을 복사합니다. 이를 Codespaces 리포지토리 비밀에 할당합니다.

  5. 리포지토리에 대한 관리자 액세스 권한이 있는 계정에 다시 로그인합니다.

  6. GitHub Codespaces 사전 빌드를 생성하려는 리포지토리에서 CODESPACES_PREBUILD_TOKEN이라는 새로운 Codespaces 리포지토리 암호를 만들어 사용자가 만들고 복사한 토큰 값을 제공합니다. 자세한 내용은 "리포지토리 또는 조직에 대한 개발 환경 비밀 관리"을(를) 참조하세요.

personal access token(은)는 리포지토리에 대해 만든 모든 후속 사전 빌드에 사용됩니다. 다른 Codespaces 리포지토리 비밀과 달리 CODESPACES_PREBUILD_TOKEN 비밀은 사전 빌드에만 사용되며 리포지토리에서 만든 codespace에서 사용할 수 없습니다.

추가 참고 자료