GitHub 패키지 레지스트리 발표 및 사용법
언어 별 패키지 매니저 지원 및 깃헙 권한으로 접근 제어 등

5월 10일 깃허브GitHub에서는 새로운 서비스인 깃허브 패키지 레지스트리GitHub Package Registry 베타를 발표했습니다. 깃허브에서 제공하는 레지스트리 서비스는 빌드된 패키지를 저장 및 배포할 수 있도록 도와주는 서비스입니다. 노드jsNode.js의 NPM, 자바Java의 메이븐Maven, 닷넷.NET의 누겟NuGet, 루비Ruby의 루비젬RubyGems와 같은 프로그래밍 언어별 패키지 관리자와 더불이 도커Docker 이미지 저장소도 제공할 예정입니다.

패키지 매니저는 오픈소스는 물론 비공개 프로젝트에서도 사용하는 것이 가능합니다. 기존에도 언어 별로 패키지 매니저를 직접 운영하거나 비공개 저장소를 서비스로 제공하는 경우가 있었습니다. 하지만 여러 언어를 사용하는 경우 패키지 매니저 별로 인증 관리를 별도로 관리하는 등의 어려움이 있었습니다. 깃허브 레지스트에서는 패키지가 저장소와 통합되며 패키지를 배포한 저장소들은 (깃허브에서 지원하는 경우) 패키지 매니저나 언어에 무관하게 깃헙의 인증 권한을 통해서 권한 제어를 하는 것이 가능합니다. 또한 깃허브에서 제공하는 깃허브 액션GitHub Action이나 웹훅과 함께 사용해 패키지 빌드나 배포를 자동화하는 것도 가능합니다.

깃허브(GitHub)의 패키지 페이지 - 패키지 기능은 저장소와 통합되어 제공될 것으로 보입니다
깃허브(GitHub)의 패키지 페이지 - 패키지 기능은 저장소와 통합되어 제공될 것으로 보입니다

깃허브 레지스트는 기존 패키지 매니저 인터페이스를 그대로 사용하는 것이 가능합니다. 예를 들어 루비젬을 빌드하고 레지스트리에 배포할 때 gem 명령어를 그대로 사용하며, 인증 권한 이외에 추가적인 프로그램은 필요하지 않습니다.

$ echo ":github: Bearer ${GH_TOKEN}" >> ~/.gem/credentials
$ gem build github_api.gemspec
$ gem push --key github --host https://rubygems.pkg.github.com/phanatic/github_api github_api-1.0.0.gem
Successfully registered gem: github_api (1.0.0)

현재 깃허브 레지스트리는 베타 테스트를 진행하고 있으며, 베타 등록 페이지에서 신청할 수 있습니다. 깃허브 저장소와 마찬가지로 공개된 프로젝트(오픈소스)에 대해서는 무료로 사용할 수 있습니다. 유료 정책에 대해서는 추후 공개 예정입니다.

깃허브 패키지 레지스트리는 베타 신청을 받고 있습니다
깃허브 패키지 레지스트리는 베타 신청을 받고 있습니다

자세한 내용은 다음 공식 문서들을 참고해주세요.

'AWS VPC 피어링: 서로 다른 VPC 간에 통신하기' 대표 이미지

AWS VPC 피어링: 서로 다른 VPC 간에 통신하기

🗒 기사, 2018-07-30 - AWS VPC를 사용해 격리된 네트워크 환경을 구성할 수 있습니다. VPC 간에는 통신하는 것이 불가능하지만 피어링을 사용해 이 문제를 해결할 수 있습니다. 이 글에서는 VPC 피어링을 구성하는 방법을 소개합니다.

AWS 람다 레이어(AWS Lambda Layers)를 다른 계정이나 조직과 공유하기

🗒 기사, 2019-01-03 - 리인벤트(re:Invent) 2018에서는 AWS 람다의 새로운 기능으로 람다 함수들 간의 공통 부분을 공유할 수 있는 람다 레이어를 발표했습니다. 람다 레이어는 하나의 계정에서 공통 부분을 분리하는 데 사용할 수도 있지만 다른 조직이나 계정과 공유해서 사용하는 것도 가능합니다. 이 글에서는 람다 레이어를 다른 계정과 공유하는 방법에 대해서 알아봅니다.

파이썬(Python) 3.8 릴리스와 주요 변경 사항 - 할당표현식, 위치 한정 파라미터, f-문자열 평가식 지원

🗞 새소식, 2019-10-15 - 2019년 10월 15일에 파이썬 3.8이 출시되었습니다. 이 글에서는 파이썬 3.8에 추가된 기능과 바뀐 점을 알아보려 합니다.