ما هي GitHub Packages؟
GitHub Packages هي خدمة إدارة الحزم التي تسهل نشر الحزم العامة أو الخاصة بجوار التعليمات البرمجية المصدر.
ملاحظه
إذا لم تكن على دراية بالفعل ب GitHub، فتحقق من وحدة Introduction to GitHub Learn.
GitHub Packages هو سجل حزمة
تسمح لك GitHub Packages بمشاركة تبعيات المشروع داخل مؤسستك أو بشكل عام.
عند العمل على مشروع يحتوي على تبعيات حزمة، من المهم بالنسبة لك الوثوق بها وفهم التعليمات البرمجية الخاصة بها والتواصل مع المجتمع الذي أنشأها. داخل المؤسسات، تحتاج أيضا إلى أن تكون قادرا على العثور بسرعة على ما تمت الموافقة عليه لاستخدامك.
تستخدم GitHub Packages نفس واجهة GitHub المألوفة للعثور على الحزم العامة في أي مكان على GitHub، أو الحزم الخاصة داخل مؤسستك أو مستودعاتك.
مدير حزمة قياسي
تتوافق GitHub Packages مع عملاء إدارة الحزم الشائعة، بحيث يمكنك نشر الحزم باستخدام اختيارك من الأدوات. إذا كان مستودعك أكثر تعقيدا، فقد تحتاج إلى نشر حزم متعددة من أنواع مختلفة. يمكنك أيضا استخدام خطافات الويب أو إجراءات GitHub لتخصيص مهام سير عمل النشر وما بعد النشر بالكامل.
هل تنشر حزمة مفتوحة المصدر؟ تقوم العديد من المشاريع مفتوحة المصدر بتخزين التعليمات البرمجية الخاصة بها على GitHub، بحيث يمكنك نشر إصدارات مسبقة من حزمك للاختبار داخل مجتمعك، ثم ترقية إصدارات معينة بسهولة إلى السجل العام الذي تختاره.
في وقت كتابة هذا التقرير، تتوافق GitHub Packages مع مديري الحزم التالية:
- npm، مدير حزمة NodeJS
- NuGet، مدير حزمة .NET
- RubyGems، مدير حزم Ruby
- Maven وGradle، مديران لحزمة Java
حزم GitHub هي أيضا سجل حاوية
من التطبيقات الكاملة إلى أدوات CLI المساعدة، الحاويات هي شكل آخر من أشكال توزيع التعليمات البرمجية. تسمح لك GitHub Packages بنشر صور الحاوية وتوزيعها. بمجرد نشرها (بشكل عام أو خاص) يمكنك استخدام هذه الصور من أي مكان، بما في ذلك:
- في بيئة التطوير المحلية
- كصورة أساسية من GitHub Codespaces بيئة التطوير
- كخطوة للتنفيذ في سير عمل التكامل المستمر (CI) / التوزيع المستمر (CD) مع إجراءات GitHub
- على خادم أو خدمة سحابية
مقارنة حزم GitHub بإصدارات GitHub
تستخدم GitHub Packages لنشر إصدارات مكتباتك إلى موجز حزمة قياسي أو سجل حاوية. تهدف إلى الاستفادة من الطرق التي يعمل بها عميل إدارة الحزمة المحدد مع هذا الموجز، مثل الارتباط مرة أخرى بالمستودع الذي تم إنشاء الحزمة فيه بالإضافة إلى إصدار التعليمات البرمجية التي تم استخدامها.
يتم استخدام إصدارات GitHub لإصدار مجموعة من البرامج المحزمة، جنبا إلى جنب مع ملاحظات الإصدار والارتباطات إلى الملفات الثنائية. يمكنك تنزيل هذه الإصدارات مباشرة من عنوان URL الفريد الخاص بها وتعقبها مرة أخرى إلى التثبيت المحدد الذي تم إنشاؤه منه. يمكنك فقط تنزيل الإصدارات كملفات tarballs أو ZIP.
الهوية الموحدة والأذونات
لنفترض أنك تعمل على مشروع باستخدام GitHub لاستضافة التعليمات البرمجية المصدر: JavaScript للواجهة الأمامية، مع npm وJava للنهاية الخلفية. يمكنك الآن الاحتفاظ بثلاث مجموعات مختلفة على الأقل من بيانات اعتماد المستخدم وأذوناته: لمستودعات Git وnpm وMaven.
باستخدام GitHub Packages، يمكنك استخدام مجموعة واحدة من بيانات الاعتماد عبر مستودع التعليمات البرمجية المصدر وسجل npm الخاص بك وسجل Maven أو Gradle الخاص بك. ترث الحزم المنشورة من خلال GitHub الرؤية والأذونات المعينة على مستوى المستودع. هل يحتاج عضو فريق جديد إلى الوصول للقراءة إلى حزمة ورمزها؟ منحهم حق الوصول للقراءة إلى المستودع ويتم ذلك!
إنشاء الحزم ونشرها من GitHub
GitHub Actions هي ميزة GitHub أخرى تسمح لك بأتمتة مهام سير عمل البرامج. يمكنك إنشاء التعليمات البرمجية واختبارها ونشرها مباشرة من GitHub.
بقشيش
إذا كنت ترغب في معرفة المزيد حول إجراءات GitHub، فتحقق من سير عمل بناء التكامل المستمر (CI) باستخدام GitHub Actions وحدة Learn.
من خلال الجمع بين GitHub Actions وGitHub Packages، يمكنك إنشاء سير عمل يقوم بإنشاء التعليمات البرمجية واختبارها، ثم نشرها إلى GitHub Packages عن طريق دفع التعليمات البرمجية ببساطة إلى المستودع الخاص بك.
في الوحدة التالية، سنتعلم كيفية استخدام سير العمل الخاص بنا للنشر إلى GitHub Packages وGitHub Container Registry.