Co to są pakiety GitHub?

Ukończone

Pakiety GitHub to usługa zarządzania pakietami, która ułatwia publikowanie publicznych lub prywatnych pakietów obok kodu źródłowego.

Uwaga

Jeśli nie znasz jeszcze usługi GitHub, zapoznaj się z modułem Introduction to GitHub Learn (Wprowadzenie do usługi GitHub Learn).

Pakiety GitHub to rejestr pakietów

Pakiety GitHub umożliwiają udostępnianie zależności projektu w organizacji lub publicznie.

Podczas pracy nad projektem, który ma zależności pakietów, ważne jest, aby ufać im, zrozumieć ich kod i połączyć się ze społecznością, która je utworzyła. W organizacjach musisz również mieć możliwość szybkiego znalezienia zatwierdzonych elementów do użycia.

Pakiety GitHub używają tego samego znanego interfejsu usługi GitHub do znajdowania pakietów publicznych w dowolnym miejscu w usłudze GitHub lub prywatnych pakietach w organizacji lub repozytoriach.

Standardowy menedżer pakietów

Pakiety GitHub są zgodne z typowymi klientami zarządzania pakietami, dzięki czemu można publikować pakiety z wybranymi narzędziami. Jeśli repozytorium jest bardziej złożone, może być konieczne opublikowanie wielu pakietów różnych typów. Możesz również użyć elementów webhook lub funkcji GitHub Actions, aby w pełni dostosować przepływy pracy publikowania i publikowania końcowego.

Czy publikujesz pakiet open source? Wiele projektów typu open source przechowuje swój kod w usłudze GitHub, dzięki czemu można publikować wersje wstępne pakietów do testowania w społeczności, a następnie łatwo podwyższyć poziom określonych wersji do wybranego publicznego rejestru.

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

W momencie pisania tego tekstu pakiety GitHub są zgodne z następującymi menedżerami pakietów:

  • npm, menedżer pakietów NodeJS
  • NuGet, menedżer pakietów platformy .NET
  • RubyGems, menedżer pakietów języka Ruby
  • Maven i Gradle, dwa menedżery pakietów dla języka Java

Pakiety GitHub to również rejestr kontenerów

Od kompletnych aplikacji do narzędzi interfejsu wiersza polecenia, kontenery stanowią kolejną formę dystrybucji kodu. Pakiety GitHub umożliwiają publikowanie i dystrybucję obrazów kontenerów. Po opublikowaniu (publicznie lub prywatnie) możesz używać tych obrazów z dowolnego miejsca, w tym:

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

Porównanie pakietów GitHub z wydaniami usługi GitHub

Pakiety GitHub służą do publikowania wydań bibliotek w standardowym kanale informacyjnym pakietów lub rejestrze kontenerów. Są one przeznaczone do wykorzystania sposobów działania określonego klienta zarządzania pakietami z tym kanałem informacyjnym, takich jak łączenie z repozytorium, w którym pakiet został utworzony, a także wersja używanego kodu.

Wersje usługi GitHub są używane do wydawania pakietu spakowanego oprogramowania wraz z informacjami o wersji i linkami do plików binarnych. Możesz pobrać te wersje bezpośrednio z ich unikatowego adresu URL i śledzić je z powrotem do określonego zatwierdzenia, z którego zostały utworzone. Wersje można pobierać tylko jako pliki tarballs lub ZIP.

Ujednolicona tożsamość i uprawnienia

Załóżmy, że pracujesz nad projektem przy użyciu usługi GitHub na potrzeby hostowania kodu źródłowego: JavaScript dla frontonu z narzędziami npm i Java na potrzeby zaplecza. Teraz utrzymujesz co najmniej trzy różne zestawy poświadczeń i uprawnień użytkownika: dla repozytoriów Git, npm i Maven.

Za pomocą pakietów GitHub można użyć jednego zestawu poświadczeń w repozytorium kodu źródłowego, prywatnego rejestru npm i prywatnego rejestru Maven lub Gradle. Pakiety publikowane za pośrednictwem usługi GitHub dziedziczą widoczność i uprawnienia przypisane na poziomie repozytorium. Nowy członek zespołu potrzebuje dostępu do odczytu pakietu i jego kodu? Przyznaj im dostęp do odczytu do repozytorium i gotowe!

Kompilowanie i publikowanie pakietów z poziomu usługi GitHub

Funkcja GitHub Actions to kolejna funkcja usługi GitHub, która umożliwia automatyzowanie przepływów pracy oprogramowania. Możesz kompilować, testować i wdrażać kod bezpośrednio z poziomu usługi GitHub.

Napiwek

Jeśli chcesz dowiedzieć się więcej na temat funkcji GitHub Actions, zapoznaj się z modułem Learn Tworzenie przepływów pracy ciągłej integracji przy użyciu funkcji GitHub Actions .

Dzięki połączeniu narzędzia GitHub Actions i pakietów GitHub możesz utworzyć przepływ pracy, który będzie kompilować i testować kod, a następnie publikować go w pakietach GitHub, po prostu wypychając kod do repozytorium.

W następnej lekcji dowiesz się, jak używać naszego przepływu pracy do publikowania w pakietach GitHub i usłudze GitHub Container Registry.