GitHub 패키지란?

완료됨

GitHub 패키지는 소스 코드 옆에 퍼블릭 또는 프라이빗 패키지를 게시하기 쉽게 만들어 주는 패키지 관리 서비스입니다.

참고

GitHub에 익숙하지 않은 경우 GitHub 소개 학습 모듈을 확인하세요.

패키지 레지스트리인 GitHub 패키지

GitHub 패키지를 사용하면 조직 내에서 또는 공개적으로 프로젝트 종속성을 공유할 수 있습니다.

패키지 종속성을 갖는 프로젝트를 작업할 때는 패키지를 신뢰하고 코드를 이해하고 패키지를 빌드한 커뮤니티와 소통하는 것이 중요합니다. 또한 조직 내에서 사용할 수 있도록 승인된 항목을 빠르게 찾을 수 있어야 합니다.

GitHub 패키지는 동일한 친숙한 GitHub 인터페이스를 사용하여 GitHub의 어느 곳에서나 공용 패키지를 찾거나 조직이나 리포지토리 내의 프라이빗 패키지를 찾습니다.

표준 패키지 관리자

GitHub 패키지는 일반적인 패키지 관리 클라이언트와 호환되므로 원하는 도구를 사용하여 패키지를 게시할 수 있습니다. 리포지토리가 비교적 복잡한 경우 서로 다른 유형의 여러 패키지를 게시해야 할 수 있습니다. 웹후크나 GitHub Actions를 사용하면 게시 워크플로 및 게시 후 워크플로를 원하는 대로 사용자 지정할 수 있습니다.

오픈 소스 패키지를 게시하고자 하나요? 많은 오픈 소스 프로젝트는 GitHub에 코드를 저장합니다. 따라서 커뮤니티 내에서 테스트할 수 있도록 패키지의 출시 전 버전을 게시한 다음 특정 버전을 원하는 퍼블릭 레지스트리로 손쉽게 승격할 수 있습니다.

GitHub n p m package page, with description, and instructions about how to install it.

본 문서의 작성 시점을 기준으로, GitHub 패키지는 다음과 같은 패키지 관리자와 호환됩니다.

  • npm - NodeJS 패키지 관리자
  • NuGet - .NET 패키지 관리자
  • RubyGems, Ruby 패키지 관리자
  • Maven 및 Gradle - 두 가지 Java용 패키지 관리자

컨테이너 레지스트리이기도 한 GitHub 패키지

완전한 애플리케이션에서 CLI 유틸리티까지, 다양한 기능을 수행하는 컨테이너는 코드를 배포하는 또 한 가지의 형식입니다. GitHub 패키지를 사용하면 컨테이너 이미지를 게시하고 배포할 수 있습니다. 퍼블릭 또는 프라이빗으로 게시된 이미지는 다음을 포함하여 어디서나 사용할 수 있습니다.

  • 로컬 개발 환경에서
  • GitHub Codespaces 개발 환경에서 기본 이미지로
  • CI(연속 통합)/CD(지속적인 배포) 워크플로에서 GitHub Actions를 사용하여 실행하기 위한 단계로
  • 서버 또는 클라우드 서비스에서

GitHub container image page, with image versions listing, statistics and instructions about how to install it.

GitHub 패키지와 GitHub 릴리스 비교

GitHub 패키지는 라이브러리의 릴리스를 표준 패키지 피드 또는 컨테이너 레지스트리에 게시하는 데 사용됩니다. 특정 패키지 관리 클라이언트가 해당 피드와 함께 작동하는 방식(예: 패키지가 만들어진 리포지토리에 다시 연결하는 방법 및 사용된 코드의 버전)을 활용하기 위한 것입니다.

GitHub 릴리스는 릴리스 정보 및 이진 파일에 대한 링크와 함께 패키지된 소프트웨어 번들을 릴리스하는 데 사용됩니다. 이러한 릴리스를 고유한 URL에서 직접 다운로드하고 해당 릴리스가 생성된 특정 커밋으로 다시 추적할 수 있습니다. 릴리스는 tarball 또는 ZIP 파일로만 다운로드할 수 있습니다.

통합 ID와 권한

소스 코드 호스팅을 위해 GitHub를 사용하는 프로젝트에서 작업하고 있다고 가정해 보겠습니다. 프론트 엔드에는 JavaScript, 백 엔드에는 npm 및 Java를 사용합니다. 이제 Git, npm 및 Maven 리포지토리에 대한 세 가지 이상의 사용자 자격 증명 및 권한 세트를 유지 관리해야 합니다.

GitHub 패키지를 사용하면 소스 코드 리포지토리, 프라이빗 npm 레지스트리, 그리고 Maven 또는 Gradle 프라이빗 레지스트리에서 하나의 자격 증명을 사용할 수 있습니다. GitHub를 통해 게시된 패키지는 리포지토리 수준에서 할당된 가시성과 권한을 상속합니다. 새로운 팀 구성원에게 패키지와 그 코드에 대한 읽기 권한이 필요하다면 리포지토리에 대한 읽기 권한을 부여하면 완료됩니다.

GitHub에서 패키지 빌드 및 게시

GitHub Actions는 소프트웨어 워크플로를 자동화할 수 있도록 지원하는 GitHub의 또 다른 기능입니다. GitHub에서 곧바로 코드를 빌드, 테스트 및 배포할 수 있습니다.

GitHub Actions에 대해 자세히 알아보려면 GitHub Actions를 사용하여 CI(연속 통합) 워크플로 빌드 Learn 모듈을 참조하세요.

GitHub Actions와 GitHub 패키지를 함께 사용하면 코드를 빌드 및 테스트하는 워크플로를 빌드한 다음 코드를 리포지토리로 푸시하여 GitHub 패키지에 게시할 수 있습니다.

다음 단원에서는 워크플로를 사용하여 GitHub 패키지 및 GitHub Container Registry에 게시하는 방법에 대해 알아봅니다.