Co to są pakiety GitHub?
Pakiety GitHub to usługa zarządzania pakietami, która ułatwia publikowanie publicznych lub prywatnych pakietów obok kodu źródłowego.
Uwaga / Notatka
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ć webhooksów lub funkcji GitHub Actions, aby w pełni dostosować przepływy pracy związane z publikowaniem i postpublikowaniem.
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.
W momencie pisania tego artykułu 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 są inną formą dystrybucji kodu. Pakiety GitHub umożliwiają publikowanie i dystrybuowanie obrazów kontenerów. Po opublikowaniu (publicznie lub prywatnie) możesz używać tych obrazów z dowolnego miejsca, w tym:
- W lokalnym środowisku projektowym
- Jako obraz podstawowy ze środowiska programistycznego GitHub Codespaces
- Jako krok do wdrożenia w przepływie pracy ciągłej integracji (CI) / ciągłego wdrażania (CD) za pomocą narzędzia GitHub Actions
- Na serwerze lub w usłudze w chmurze
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 metod działania określonego klienta zarządzania pakietami z tym źródłem, takich jak łączenie z powrotem do repozytorium, w którym pakiet został utworzony, oraz do wersji 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. Możesz pobierać wersje tylko jako pliki tarball 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. Pakiet publikowany za pośrednictwem usługi GitHub dziedziczy widoczność i uprawnienia przypisane na poziomie repozytorium. Nowy członek zespołu potrzebuje dostępu do odczytu do pakietu i jego kodu? Przyznaj im dostęp do odczytu do repozytorium i gotowe!
Kompilowanie i publikowanie pakietów z 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 usługi GitHub.
Wskazówka
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 .
Łącząc funkcje GitHub Actions i GitHub Packages, możesz utworzyć przepływ pracy, który skompiluje i przetestuje kod, a następnie opublikuj go w pakietach GitHub, 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.