GitHub Packages nedir?
GitHub Packages, kaynak kodunuzun yanında genel veya özel paketleri yayımlamayı kolaylaştıran bir paket yönetimi hizmetidir.
Not
GitHub'ı henüz bilmiyorsanız GitHub'a giriş Learn modülüne göz atın.
GitHub Packages bir paket kayıt defteridir
GitHub Packages, proje bağımlılıklarınızı kuruluşunuz içinde veya genel olarak paylaşmanıza olanak sağlar.
Paket bağımlılıkları olan bir proje üzerinde çalışırken, onlara güvenmeniz, kodlarını anlamanız ve bunları oluşturan toplulukla bağlantı kurmanız önemlidir. Kuruluşlarda, kullanımınız için onaylananları hızla bulabilmeniz de gerekir.
GitHub Packages, GitHub'da herhangi bir yerde genel paketleri veya kuruluşunuzdaki veya depolarınızdaki özel paketleri bulmak için aynı tanıdık GitHub arabirimini kullanır.
Standart paket yöneticisi
GitHub Packages yaygın paket yönetimi istemcileriyle uyumludur, bu nedenle paketleri istediğiniz araçlarla yayımlayabilirsiniz. Deponuz daha karmaşıksa, farklı türlerde birden çok paket yayımlamanız gerekebilir. Yayımlama ve yayımlama sonrası iş akışlarınızı tam olarak özelleştirmek için web kancalarını veya GitHub Actions'ı da kullanabilirsiniz.
Açık kaynak paketi yayımlıyor musunuz? Birçok açık kaynak projesi, kodlarını GitHub'da depolar, böylece paketlerinizin yayın öncesi sürümlerini topluluğunuzda test etmek üzere yayımlayabilir ve ardından belirli sürümleri kolayca tercih ettiğiniz genel kayıt defterine yükseltebilirsiniz.
GitHub npm paketi sayfası, açıklama ve yükleme yönergeleriyle
.
Yazma sırasında GitHub Packages aşağıdaki paket yöneticileriyle uyumludur:
- npm, NodeJS paket yöneticisi
- .NET paket yöneticisi NuGet
- RubyGems, Ruby paket yöneticisi
- Maven ve Gradle, Java için iki paket yöneticisi
GitHub Packages aynı zamanda bir kapsayıcı kayıt defteridir
Kapsayıcılar, tam uygulamalardan CLI yardımcı programlarına kadar başka bir kod dağıtma biçimidir. GitHub Packages, kapsayıcı görüntülerini yayımlamanıza ve dağıtmanıza olanak sağlar. Yayımlandıktan sonra (genel veya özel) bu görüntüleri aşağıdakiler dahil olmak üzere her yerden kullanabilirsiniz:
- Yerel geliştirme ortamınızda
- GitHub Codespaces geliştirme ortamınızdan temel görüntü olarak
- GitHub Actions ile Sürekli Tümleştirme (CI) / Sürekli Dağıtım (CD) iş akışınızda bir adım olarak uygulamak üzere
- Sunucuda veya bulut hizmetinde
GitHub Paketlerini GitHub Sürümleriyle Karşılaştırma
GitHub Packages, kitaplıklarınızın yayınlarını standart bir paket akışına veya kapsayıcı kayıt defterine yayımlamak için kullanılır. Paketin oluşturulduğu depoya ve kullanılan kodun sürümüne geri bağlama gibi belirli paket yönetimi istemcisinin bu akışla çalışma biçimlerinden yararlanmaları amaçlanır.
GitHub Yayınları, paketlenmiş yazılım paketinin yanı sıra sürüm notları ve ikili dosyalara bağlantılar yayınlamak için kullanılır. Bu sürümleri doğrudan benzersiz URL'lerinden indirebilir ve oluşturuldukları işlemeye kadar izleyebilirsiniz. Sürümleri yalnızca tarballs veya ZIP dosyaları olarak indirebilirsiniz.
Birleşik kimlik ve izinler
Kaynak kodu barındırmak için GitHub kullanarak bir proje üzerinde çalıştığınızı varsayalım: Ön uç için JavaScript, arka uç için npm ve Java. Artık en az üç farklı kullanıcı kimlik bilgisi ve izin kümesine sahipsiniz: Git, npm ve Maven depoları için.
GitHub Packages ile kaynak kod deponuzda, özel npm kayıt defterinizde ve Maven veya Gradle özel kayıt defterinizde tek bir kimlik bilgisi kümesi kullanabilirsiniz. GitHub aracılığıyla yayımlanan paketler, depo düzeyinde atanan görünürlüğü ve izinleri devralır. Yeni bir ekip üyesinin pakete ve koduna okuma erişimi mi gerekiyor? Depoya okuma erişimi verin ve işlem tamam!
GitHub'dan paket oluşturma ve yayımlama
GitHub Actions, yazılım iş akışlarınızı otomatikleştirmenizi sağlayan bir diğer GitHub özelliğidir. Kodunuzu doğrudan GitHub'dan derleyebilir, test edebilir ve dağıtabilirsiniz.
Bahşiş
GitHub Actions hakkında daha fazla bilgi edinmek istiyorsanız, GitHub Actions'ı kullanarak sürekli tümleştirme (CI) iş akışları oluşturma hakkında Learn modülüne göz atın.
GitHub Actions ve GitHub Packages'ı birleştirerek kodunuzu derleyip test edecek bir iş akışı oluşturabilir ve ardından yalnızca deponuza kod göndererek bunu GitHub Packages'da yayımlayabilirsiniz.
Sonraki ünitede iş akışımızı kullanarak GitHub Packages ve GitHub Container Registry'de yayımlamayı öğreneceksiniz.