Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

사전 빌드 구성

리포지토리에 변경 내용을 푸시할 때마다 자동으로 Codespace를 사전 빌드하도록 프로젝트를 구성할 수 있습니다.

이 기능을 사용할 수 있는 사용자

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

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

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

리포지토리의 특정 분기와 특정 개발 컨테이너 구성 파일의 조합에 대한 사전 빌드 구성을 설정할 수 있습니다.

사전 빌드 사용 부모 분기에서 만든 모든 분기도 일반적으로 동일한 개발 컨테이너 구성에 대한 사전 빌드를 가져옵니다. 이는 부모 분기와 동일한 개발 컨테이너 구성을 사용하는 자식 분기의 사전 빌드가 대부분 동일하므로 개발자가 해당 분기에서 더 빠른 codespace 생성 시간을 활용할 수 있기 때문입니다. 자세한 내용은 "개발 컨테이너 소개"을 참조하세요.

일반적으로 분기에 대한 사전 빌드를 구성할 때 여러 시스템 유형에 대해 사전 빌드를 사용할 수 있습니다. 그러나 리포지토리가 32GB보다 큰 경우 이러한 스토리지가 32GB로 제한되므로 2코어 및 4코어 머신 유형에는 사전 빌드를 사용할 수 없습니다.

필수 조건

사전 빌드는 GitHub Actions를 사용하여 만들어집니다. 따라서 사전 빌드를 구성하는 리포지토리에 대해 GitHub Actions을(를) 사용하도록 설정해야 합니다. 자세한 내용은 "리포지토리에 대한 GitHub Actions 설정 관리"을 참조하세요.

개인 계정 소유한 모든 리포지토리에서 사전 빌드를 설정할 수 있습니다. 사전 빌드는 청구 가능한 요금이 발생하거나 개인 계정 소유한 리포지토리의 경우 월별 포함된 스토리지 중 일부를 사용하는 스토리지 공간을 사용합니다.

organization 소유한 리포지토리의 경우 organization GitHub Team 또는 GitHub Enterprise 계획에 있는 경우 사전 빌드를 설정할 수 있습니다. 또한 결제 방법을 추가하고 organization 계정 또는 부모 엔터프라이즈에서 GitHub Codespaces에 대한 지출 한도를 설정해야 합니다. 자세한 내용은 "GitHub Codespaces에 대한 지출 한도 관리" 및 "GitHub의 제품.

사전 빌드 구성

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. "설정" 탭이 표시되지 않으면 드롭다운 메뉴를 선택한 다음 설정을 클릭합니다.

    탭을 보여 주는 리포지토리 헤더의 스크린샷. "설정" 탭은 진한 주황색 윤곽선으로 강조 표시됩니다.

  2. 사이드바의 "코드 & 자동화" 섹션에서 Codespaces를 클릭합니다.

  3. 페이지의 "사전 빌드 구성" 섹션에서 사전 빌드 설정을 클릭합니다.

    "사전 빌드 설정" 단추를 보여 주는 "Codespaces" 설정 페이지의 "사전 빌드 구성" 섹션 스크린샷

  4. 사전 빌드를 설정할 분기를 선택합니다.

    선택할 분기를 나열하는 드롭다운 메뉴가 있는 사전 빌드의 "구성" 설정 스크린샷 "기본" 분기가 현재 선택되어 있습니다.

    참고: 사전 빌드 사용 기본 분기에서 만든 모든 분기도 일반적으로 동일한 개발 컨테이너 구성에 대한 사전 빌드를 가져옵니다. 예를 들어 리포지토리의 기본 분기에서 개발 컨테이너 구성 파일에 대해 사전 빌드를 사용하도록 설정하면 대부분의 경우 기본 분기를 기반으로 한 분기도 동일한 개발 컨테이너 구성에 대한 사전 빌드를 가져옵니다.

  5. 필요에 따라 표시되는 구성 파일 드롭다운 메뉴에서 사전 빌드에 devcontainer.json 사용할 구성 파일을 선택합니다. 자세한 내용은 "개발 컨테이너 소개"을 참조하세요.

    구성 파일 드롭다운 메뉴의 스크린샷. 현재 ".devcontainer/devcontainer.json"이 선택된 4개의 구성 파일이 나열됩니다.

  6. 사전 빌드 업데이트를 자동으로 트리거하는 방법을 선택합니다.

    • 모든 푸시 (기본 설정) - 이 설정을 사용하면 지정된 분기에 대한 모든 푸시에서 사전 빌드가 업데이트됩니다. 이렇게 하면 사전 빌드에서 생성된 codespace에 최근 추가되거나 업데이트된 종속성을 포함하여 항상 최신 codespace 구성이 포함됩니다.

    • 구성 변경 시 - 이 설정을 사용하면 다음 파일이 변경될 때마다 사전 빌드가 업데이트됩니다.

      • .devcontainer/devcontainer.json

        참고: 사전 빌드 업데이트는 의 .devcontainer하위 디렉터리 내 파일 변경에 devcontainer.json 의해 트리거되지 않습니다.

      • 파일의 속성에서 build.dockerfile 참조되는 Dockerfile입니다 .devcontainer/devcontainer.json .

      이 설정을 사용하면 사전 빌드에서 codespace가 생성될 때 리포지토리에 대한 개발 컨테이너 구성 파일의 변경 내용이 사용됩니다. 사전 빌드를 업데이트하는 GitHub Actions 워크플로는 실행 빈도가 낮아지므로 이 옵션은 GitHub Actions 분을 더 적게 사용합니다. 그러나 이 옵션은 codespace에 항상 최근에 추가되거나 업데이트된 종속성이 포함되어 있다고 보장할 수 없으므로 codespace를 만든 후에 수동으로 추가하거나 업데이트해야 할 수 있습니다.

    • 예약됨 - 이 설정을 사용하면 사용자가 정의한 사용자 지정 일정에 따라 사전 빌드를 업데이트할 수 있습니다. 이렇게 하면 GitHub Actions 분 소비를 줄일 수 있지만, 이 옵션을 사용하면 최신 개발 컨테이너 구성 변경 내용을 사용하지 않는 codespace를 만들 수 있습니다.

    "사전 빌드 트리거" 설정의 스크린샷 "예약됨" 옵션이 선택되고 "매일" "오후 1시" 및 "오후 3시 30분"으로 설정됩니다.

  7. 필요에 따라 특정 지역에서만 사용할 수 있는 사전 빌드 축소를 선택하여 지정된 지역에만 사전 빌드를 만듭니다. 사전 빌드를 사용할 지역을 선택합니다.

    기본적으로 사전 빌드는 사용 가능한 모든 지역에서 만들어지고 사전 빌드당 스토리지 요금이 발생합니다.

    "지역 가용성" 설정의 스크린샷. 두 지역이 선택된 상태에서 "특정 지역에서만 사용할 수 있는 사전 빌드 줄이기"가 선택됩니다.

    참고:

    • 각 지역의 사전 빌드에는 개별 스토리지 요금이 발생합니다. 따라서 사전 빌드가 사용될 것으로 알고 있는 지역에 대해서만 사전 빌드를 사용하도록 설정해야 합니다. 자세한 내용은 "GitHub Codespaces 청구 관련 정보"을 참조하세요.
    • 개발자는 GitHub Codespaces에 대한 기본 지역을 설정할 수 있으며, 이를 통해 더 적은 수의 지역에 대해 사전 빌드를 사용하도록 설정할 수 있습니다. 자세한 내용은 "Github Codespaces의 기본 지역 설정"을 참조하세요.
  8. 필요에 따라 템플릿 기록에서 보존할 사전 빌드 버전 수를 설정합니다. 1에서 5 사이의 숫자를 입력할 수 있습니다. 저장된 버전의 기본 수는 2입니다. 즉, 최신 사전 빌드 및 이전 버전만 저장됩니다.

    "템플릿 기록" 설정의 스크린샷. 2개 버전으로 설정됩니다.

    사전 빌드 트리거 설정에 따라 각각의 푸시 또는 개발 컨테이너 구성 변경에 따라 사전 빌드가 변경됩니다. 이전 버전의 사전 빌드를 유지하면 현재 사전 빌드와 다른 개발 컨테이너 구성을 사용하여 이전 커밋에서 사전 빌드를 만들 수 있습니다. 이 설정을 사용하면 보존된 버전 수를 요구 사항에 적합한 수준으로 설정할 수 있습니다.

    저장할 사전 빌드 버전 수를 1로 설정하면 GitHub Codespaces는 최신 버전의 사전 빌드만 저장하고 템플릿이 업데이트될 때마다 이전 버전을 삭제합니다. 즉, 이전의 개발 컨테이너 구성으로 돌아가면 사전 빌드된 Codespace는 표시되지 않습니다.

    유지되는 각 사전 빌드 버전과 관련된 스토리지 비용이 있습니다. 예를 들어 4개 지역에서 사전 빌드를 생성하고 2개의 버전을 유지하는 경우 최대 8개의 사전 빌드 스토리지에 대한 요금이 청구됩니다. 청구에 대한 자세한 내용은 "GitHub Codespaces 청구 관련 정보"을 참조하세요.

  9. 필요한 경우 이 구성에 대해 사전 빌드 워크플로 실행이 실패할 때 알릴 사용자 또는 팀을 추가합니다. 사용자 이름, 팀 이름 또는 전체 이름을 입력한 다음 목록에 이름을 추가하려면 이름을 클릭할 수 있습니다. 추가한 사용자나 팀은 사전 빌드 오류가 발생할 때 추가 조사에 도움이 되는 워크플로 실행 로그 링크를 포함하는 메일을 받게 됩니다.

    "실패 알림" 설정의 스크린샷 "octocat-team"이라는 팀이 추가되었습니다.

  10. 필요에 따라 페이지 아래쪽에서 고급 옵션 표시를 클릭합니다.

    사전 빌드 구성 페이지 아래쪽의 스크린샷 "고급 옵션 표시" 링크가 진한 주황색 윤곽선으로 강조 표시됩니다.

    "고급 옵션" 섹션에서 사전 빌드 최적화 사용 안 함을 선택하면 최신 사전 빌드 워크플로가 실패했거나 현재 실행 중인 경우 codespace가 사전 빌드 없이 만들어집니다. 자세한 내용은 "사전 빌드 문제 해결"을 참조하세요.

  11. 만들기를 클릭합니다.

    리포지토리에 대한 개발 컨테이너 구성에서 다른 리포지토리에 액세스하기 위한 권한을 지정하는 경우 권한 부여 페이지가 표시됩니다. 이 옵션을 파일에 지정 devcontainer.json 하는 방법에 대한 자세한 내용은 "Codespace 내의 다른 리포지토리에 대한 액세스 관리"을 참조하세요.

    요청한 사용 권한의 세부 정보를 보려면 을 클릭합니다.

    사전 빌드 구성에 대한 권한 부여 페이지의 스크린샷 이 요청에는 세 가지 권한이 나열됩니다.

    권한 부여를 클릭하고 사전 빌드를 만들 수 있는 권한을 계속 부여합니다. 또는 권한 부여 없이 계속을 클릭할 수 있지만, 이렇게 하면 결과 사전 빌드에서 만든 codespace가 제대로 작동하지 않을 수 있습니다.

    참고: 이 사전 빌드를 사용하여 codespace를 만드는 사용자에게도 이러한 허용 권한을 부여하라는 메시지가 표시됩니다.

사전 빌드 구성을 만든 후에는 리포지토리 설정의 GitHub Codespaces 페이지에 나열됩니다. GitHub Actions 워크플로는 큐에 대기된 다음, 지정한 지역에서 선택한 분기 및 개발 컨테이너 구성 파일에 따라 사전 빌드를 만들기 위해 실행됩니다.

사전 빌드 구성 목록의 스크린샷 "현재 실행 중"이라는 레이블이 지정된 사전 빌드가 나열됩니다. 오른쪽에는 "출력 보기" 단추가 있습니다.

사전 빌드 구성을 편집하고 삭제하는 방법에 대한 자세한 내용은 "사전 빌드 관리"을 참조하세요.

환경 변수 구성

사전 빌드 프로세스가 개발 환경을 만드는 데 필요한 환경 변수에 액세스할 수 있도록 하려면 Codespaces 리포지토리 비밀 또는 Codespaces 조직 비밀로 설정할 수 있습니다. 자세한 내용은 "Github Codespaces의 리포지토리 및 조직에 대한 암호화된 비밀 관리" 및 "Github Codespaces의 리포지토리 및 조직에 대한 암호화된 비밀 관리.

이 방법으로 만든 비밀은 이 리포지토리에서 codespace를 만드는 모든 사용자가 액세스할 수 있습니다. 이렇게 하지 않으려면 CODESPACES_PREBUILD_TOKEN 비밀을 설정할 수도 있습니다. CODESPACES_PREBUILD_TOKEN 비밀은 사전 빌드에만 사용되며 해당 값은 사용자의 codespace에서 액세스할 수 없습니다.

사전 빌드에서는 사용자 환경을 빌드하는 동안 사용자 수준 비밀을 사용할 수 없습니다. codespace가 만들어진 후에야 사용자 수준 비밀을 사용할 수 있기 때문입니다.

사전 빌드에 포함할 시간이 오래 걸리는 작업 구성

devcontainer.json에서 onCreateCommandupdateContentCommand 명령을 사용하여 사전 빌드 생성의 일부로 시간이 오래 걸리는 프로세스를 포함할 수 있습니다. 자세한 내용은 Visual Studio Code 설명서, "devcontainer.json 참조"를 참조하세요.

onCreateCommand 는 사전 빌드를 만들 때 한 번만 실행되는 반면 updateContentCommand , 는 사전 빌드를 만들고 이후 업데이트할 때 실행됩니다. 증분 빌드는 프로젝트의 소스를 나타내고 모든 사전 빌드 업데이트에 포함되어야 하므로 updateContentCommand에 포함되어야 합니다.

추가 참고 자료