Blank white background with no objects or features visible.

تعلن TrueFoundry عن استحواذها على Seldon AI، موسعة بذلك لوحة التحكم الخاصة بها للذكاء الاصطناعي للمؤسسات. البيان الصحفي الكامل →

مخططات Helm على ArtifactHub عبر الاستضافة على صفحات Github

By TrueFoundry

Published: July 4, 2026

دعنا نناقش كيف يمكننا استضافة مخططات Helm الخاصة بنا على صفحات GitHub والسماح للآخرين باستخدام مخططاتنا على ArtifactHub. قبل فهم العملية، سنحاول فهم هذه المصطلحات بأبسط شكل.

ما هو مخطط Helm؟

مخططات Helm هي الطريقة التي تقوم بها بإنشاء قوالب لموارد Kubernetes التي ترغب في نشرها. إذا كنت ترغب في إنشاء موارد Kubernetes في مجموعات متعددة (أو حتى في نفس المجموعة) بقيم مختلفة، فإنك تنشئ قالبًا للموارد وتقوم بتعبئته. تُعرف هذه الحزمة باسم مخطط Helm.

صفحات GitHub

صفحات GitHub هي ميزة من GitHub تتيح لك إنشاء موقع ويب أو صفحة ويب مستضافة على خوادم GitHub. إذا كان لديك ملف بسيط index.html ملف، فيمكنك استضافة ملف HTML هذا باستخدام اسم النطاق الذي توفره GitHub والذي يكون عادةً بالصيغة username.github.io . إنها طريقة لمشاركة عملك أو عرض مشاريعك عبر الإنترنت دون الحاجة إلى خدمة استضافة ويب منفصلة. في حالتنا، سنقوم بـ استضافة مخططات Helm الخاصة بنا على صفحات GitHub.

ArtifactHub

ArtifactHub هي منصة قائمة على الويب تعمل كمستودع مركزي لتوزيعات البرامج المختلفة مثل مخططات Helm و OPA وما إلى ذلك. بمجرد أن ننشئ مخطط Helm الخاص بنا ونستضيفه على صفحات GitHub، سنجعله قابلاً للاكتشاف للمجتمع من خلال عرضه على ArtifactHub.

لا تستضيف ArtifactHub مخططات Helm نفسها، بل تعمل كسجل لمستودعات مخططات Helm. يمكن للمطورين نشر مخططات Helm الخاصة بهم في مستودعاتهم المفضلة، مثل GitHub أو GitLab أو Bitbucket، ثم تسجيل مستودعاتهم لدى ArtifactHub.

استضافة مخططات Helm عبر صفحات GitHub

الآن سنرى كيف يمكننا الاستفادة من ميزات الصفحات (Pages) في GitHub لاستضافة مخططات Helm لتطبيقنا. في هذا المثال، سأستخدم مخططات Helm نموذجية ولكن يمكنك أيضًا استخدام مخططات Helm المخصصة الخاصة بك بنفس الطريقة

الخطوة 1: إنشاء مخطط Helm نموذجي

سنبدأ بإنشاء مخطط Helm نموذجي

helm create sample-nginx

الخطوة 2: إنشاء مستودع GitHub

سنقوم بإنشاء مستودع GitHub عام حيث سنستضيف المخططات (charts).

  • إنشاء مستودع GitHub
  • تأكد من أنه عام
  • أنشئ دليلاً باسم charts والذي سيحتوي على مخطط Helm الخاص بك
  • charts الدليل موجود في المستوى الجذر لمستودعك
  • ادفع مخططاتك إلى main فرع المستودع

$ tree .
.
├── README.md
└── charts
   └── sample-nginx
       ├── Chart.yaml
       ├── charts
       ├── القوالب
       │   ├── NOTES.txt
       │   ├── _helpers.tpl
       │   ├── deployment.yaml
       │   ├── hpa.yaml
       │   ├── ingress.yaml
       │   ├── service.yaml
       │   ├── serviceaccount.yaml
       │   └── اختبارات
       │       └── test-connection.yaml
       └── values.yaml

لقد أنشأنا مستودعًا وهو مستضاف هنا:

الخطوة 3: إنشاء رمز وصول GitHub

بمجرد أن تصبح مخططاتنا في الفرع الرئيسي ، نحتاج إلى إنشاء مسار عمل يمكنه إنشاء إصدار GitHub. سيقوم إصدار GitHub هذا بدوره بنشر مخططاتنا. لهذا، نحتاج إلى رمز مميز يتم إنشاؤه بمجموعة محددة من أذونات والتي ستُستخدم بعد ذلك في مسار عملنا لإصدار المخططات.

  • انقر على ملفك الشخصي في GitHub في الزاوية العلوية اليمنى
  • انتقل إلى الإعدادات.
  • انتقل إلى إعدادات المطور في الخيار الأخير في اللوحة اليسرى.
  • انتقل إلى رموز الوصول الشخصية واختر رموز مفصلة.
  • انقر على إنشاء رمز جديد
Accessing Github Page for Helm Chart
  • أعطِ الرمز اسمًا وحدد تاريخ انتهاء الصلاحية. حاليًا، أستخدم 7 أيام وبعدها سيصبح الرمز عديم الفائدة.
  • في قسم الوصول إلى المستودع، اختر "مستودعات محددة فقط" واختر مستودع GitHub الخاص بنا الذي نعمل عليه
Access token for Hem Chart
  • في قسم الأذونات، نحتاج فقط إلى استخدام أذونات المستودع.
  • هنا، نحتاج إلى تحديد قراءة وكتابة لـ محتويات
  • بشكل عام، يجب أن نمتلك هذه الصلاحيات فقط
  • بمجرد إنشاء الرمز المميز (التوكن)، احتفظ به بأمان للمتابعة إلى الخطوة التالية.

الخطوة 4: إعداد صفحات GitHub

يمكننا استخدام صفحات GitHub لاستضافة موقعنا الإلكتروني مباشرة على GitHub (بشكل ثابت).

  • لنقم بإنشاء فرع آخر في المستودع باسم gh-pages وتأكد من تسمية الفرع بـ gh-pages فقط.
  • في هذا الفرع، قم بإزالة كل شيء وإنشاء ملف بسيط فقط index.html لاختبار الاستضافة. ادفع تغييراتك إلى GitHub.

<!DOCTYPE html>
<html>
<head>
<title>رسوم بيانية نموذجية</title>
<style>
 .chart {
  width: 400px;
  height: 300px;
  margin: 20px;
  border: 1px solid #ccc;
  box-shadow: 2px 2px 5px #ccc;
  display: inline-block;
  vertical-align: top;
  padding: 10px;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.5;
 }
 
 .chart h3 {
  margin-top: 0;
  font-size: 18px;
  font-weight: bold;
 }
 
 .chart p {
  margin: 0;
 }
</style>
</head>
<body>
<h1>رسوم بيانية نموذجية</h1>
<div class="chart">
 <h3>الرسم البياني 1</h3>
 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer euismod diam et purus hendrerit mollis.</p>
 <!-- أضف رمز الرسم البياني الخاص بك هنا -->
</div>
<div class="chart">
 <h3>الرسم البياني 2</h3>
 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer euismod diam et purus hendrerit mollis.</p>
 <!-- أضف رمز الرسم البياني الخاص بك هنا -->
</div>
<div class="chart">
 <h3>الرسم البياني 3</h3>
 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer euismod diam et purus hendrerit mollis.</p>
 <!-- أضف رمز الرسم البياني الخاص بك هنا -->
</div>
</body>
</html>

  • اذهب إلى الإعدادات (Settings) تحت اسم المستودع الخاص بك وانقر على الصفحات (Pages) في اللوحة اليسرى.
  • في قسم الإنشاء والنشر (Build and deployment)، اختر الفرع (Branch) gh-pages وانتظر بعض الوقت حتى يقوم GitHub بمعالجته. بمجرد الانتهاء، ستحصل على رابط URL في نفس النافذة. بالنقر عليه، ستظهر لك صفحة الـ index.html التي أنشأناها.
  • انقر هنا للتحقق من ملف index.html الخاص بنا — https://dunefro.github.io/sample-charts/
  • الآن، بدلاً من استضافة ملف HTML هذا، سنستضيف مخططات Helm الخاصة بنا.

الخطوة 5: إنشاء مسار عمل (pipeline) في GitHub Actions

في الخطوات السابقة، ناقشنا مسار العمل (pipeline) الذي سيستخدم رمز الوصول (Access token) لإنشاء إصدار GitHub (GitHub Release). يمكنك اختيار أي أداة مفضلة لأداء هذه المهمة، لكنني سأختار GitHub Actions لذلك. GitHub Actions هي أداة أخرى مدعومة أصلاً في GitHub لأداء مهام CI/CD.

قبل إنشاء مسار العمل (pipeline)، سنقوم بإنشاء متغير سري (secret variable) لتمرير الرمز (token) الذي أنشأناه في المهمة السابقة.

  • اذهب إلى المستودع الخاص بك وانقر على الإعدادات (Settings) تحت اسم المستودع الخاص بك.
  • اذهب إلى الأسرار والمتغيرات (Secrets and Variables) في اللوحة اليسرى وانقر على الإجراءات (Actions).
  • انقر على سر مستودع جديد (New Repository Secret) والصق الرمز (token).

يمكن الآن استخدام هذا الرمز (token) في مسار العمل (pipeline) لدفع الإصدارات (releases).

الآن سنقوم بإنشاء مسار عمل GitHub Action.

  • أنشئ دليلاً (directory) .github/workflows في المستوى الجذر لمستودعك في الفرع main .
  • هذا الدليل هو الدليل الافتراضي الذي نحتفظ فيه بجميع مسارات CI/CD لتشغيل GitHub Actions.
  • أنشئ ملفًا باسم release.yaml داخل الدليل المذكور أعلاه.
  • الصق المحتوى التالي

name: Release Charts

on:
 push:
   branches:
     - main

jobs:
 release:
   permissions:
     contents: write # لدفع إصدار المخطط وإنشاء إصدار (helm/chart-releaser-action)

   runs-on: ubuntu-latest
   steps:
     - name: سحب الكود
       uses: actions/checkout@v3
       with:
         fetch-depth: 0      

     - name: تهيئة Git
       run: |
         git config user.name "$GITHUB_ACTOR"
         git config user.email "$GITHUB_ACTOR@users.noreply.github.com"  
     - name: إعداد Helm
       uses: azure/setup-helm@v3.5
       with:
         version: v3.9.2

     - name: تشغيل chart-releaser
       uses: helm/chart-releaser-action@v1.5.0
       env:
         CR_TOKEN: "${{ secrets.HELM_RELEASE_TOKEN }}"

هذا المسار بسيط للغاية. دعنا نفهمه بسرعة كبيرة

  1. الاسم — اسم المسار
  2. عند — شرط لتشغيل المسار، هنا نحدد تشغيله عند كل عملية دفع إلى main فرع.
  3. المهام — المهمة الفعلية التي تحتوي على كود المسار. تتحقق من أذونات الـ كتابة في المحتويات التي منحناها بالفعل
  4. الخطوات تحدد خطوات المسار. حيث الخطوة الأولى هي استخدام actions/checkout@v3 . من الناحية المثالية، إذا كنت تنشئ المسار، فستقوم أولاً بسحب الكود. بدلاً من كتابة الكود الخاص بالسحب، يوفر GitHub إجراء يمكن استخدامه مباشرة بدلاً من كتابة الكود.
  5. في الخطوة الثانية، نقوم بتشغيل الأوامر لتكوين Git. وبالمثل في الخطوة الثالثة، نستخدم azure/setup-helm إجراء الذي سيقوم بإعداد Helm لنا.
  6. في الخطوة الأخيرة، نستخدم helm/chart-releaser-action لإصدار مخطط Helm. أما بالنسبة للإصدار، فنحن نحتاج إلى الرمز السري الذي أنشأناه بالفعل ومررناه في المسار عبر اسم الرمز HELM_RELEASE_TOKEN . سيؤدي هذا الإجراء أيضًا إلى إنشاء index.yaml في gh-pages الفرع مما سيجعل صفحة GitHub تعمل كسجل ثابت لمخططات Helm.

الخطوة 6: قم بتشغيل المسار وتحقق مما إذا كانت الإصدارات قد تم إنشاؤها أم لا

الآن سنجري تغييرًا صغيرًا جدًا في README.md ملف المستودع في main الفرع بحيث يتم تشغيل المسار. عندما دفعت التغييرات، تمكنت من رؤية نقطة برتقالية صغيرة تشير إلى أن المسار قيد التشغيل

  • انتقل إلى "الإجراءات" (Actions) تحت اسم المستودع وتحقق من المسارات قيد التشغيل.
  • بمجرد انتهاء المسار، يمكننا الانتقال إلى gh-pages الفرع والتحقق مما إذا كان index.yaml قد تم إنشاؤه أم لا.
  • index.yaml هي طريقة تمكن Helm من التعرف على أي موقع ويب مستضاف بشكل ثابت كسجل Helm.
  • بمجرد انتهاء المسار، سيتم تشغيل مسار آخر تلقائيًا باسم بناء ونشر الصفحات والذي يتم إنشاؤه تلقائيًا بواسطة GitHub لاستضافة التغييرات التي نجريها في فرع gh-pages مما يجعل index.yaml متاحًا للعامة. — https://dunefro.github.io/sample-charts/index.yaml
  • يمكننا المضي قدمًا والتحقق من الإصدارات في GitHub لملاحظة أن مخطط Helm الخاص بنا قد تم إصداره في صفحة الإصدارات. — https://github.com/dunefro/sample-charts/releases

الخطوة 7: تأكيد الإصدار عن طريق نشره في مجموعة minikube

لاختبار ما إذا كان سجل Helm الخاص بنا قد تم إنشاؤه بنجاح أم لا

  • أنشئ minikube مجموعة
  • قم بتشغيل الأمر أدناه

# أضف المستودع
helm repo add sample-charts https://dunefro.github.io/sample-charts/
helm repo update

# تثبيت المخططات
helm upgrade --install test-nginx sample-charts/sample-nginx

# فحص الـ pods
$ kubectl get pods
الاسم                                      جاهز   الحالة    مرات إعادة التشغيل   العمر
test-nginx-sample-nginx-b95bb4f46-tbppn   1/1     Running   0          30s

مخططاتنا تعمل بشكل جيد.

إعداد ArtifactHub

الآن سنستعرض كيفية إنشاء حساب على ArtifactHub حتى نتمكن من عرض مخططات Helm الخاصة بنا للمجتمع. قد تجد أيضًا بعض مخططات المجتمع الأخرى مثل

الخطوة 1: إنشاء حساب على ArtifactHub وإنشاء مستودع

الآن مخططاتنا مستضافة. يجب أن نتأكد من إمكانية استخدامها من قبل المطورين الآخرين عبر ArtifactHub.

  • انتقل إلى https://artifcathub.io واشترك.
  • بعد ذلك، انقر على ملفك الشخصي من أيقونة الزاوية العلوية اليسرى ثم انقر على لوحة التحكم.
  • انقر على + إضافة مستودع وأضف تفاصيل المستودع. تأكد من استخدام عنوان URL الذي تستضيف فيه مخططاتك في صفحات GitHub.
  • الآن انتظر واسترخِ. سيقوم ArtifactHub بسحب التفاصيل تلقائيًا باستخدام index.yaml مستضاف في صفحاتنا

الخطوة 2: التحقق من المستودع الخاص بك

يمكننا رؤية المستودع الخاص بنا وهو يُنشأ، وبمجرد أن يتمكن ArtifactHub من سحب البيانات، سيبدأ في الظهور في عمليات البحث أيضًا. الآن نريد تطبيق علامة الناشر الموثق بهذا الشكل

لهذا نحتاج إلى إضافة ملف artifacthub-repo.yml في gh-pages الفرع كملف بيانات وصفية سيتم قراءته بواسطة ArtifactHub، مما يؤكد بدوره أننا مالكو السجل.

  • انسخ المعرف من المستودع الذي أنشأناه.
  • أنشئ ملفًا باسم artifacthub-repo.yml في gh-pages الفرع بالمحتويات التالية

repositoryID: 67d52f16-b102-4661-bfa5-9e6694587e24
owners: # (اختياري، يستخدم للمطالبة بملكية المستودع)
 - name: Vedant Pareek
   email: dunefro@gmail.com

  • حدّث الـ version من مخططك حتى يتمكن ArtifactHub و GitHub Actions من التقاطه.
  • انتظر بعض الوقت حتى يقوم ArtifactHub بإجراء الفحص على السجل.

هذه هي نفس الطريقة التي اعتدنا بها استضافة مخططات Helm العامة الخاصة بنا في تروفاوندري. تروفاوندري هي MLOps, LLMOps منصة تسهّل رحلة دورة الحياة الكاملة لجلب نماذج التعلم الآلي من التطوير إلى الإنتاج. تأخذ في الاعتبار جميع نقاط الألم طوال رحلة دورة حياة التعلم الآلي لتوفير السهولة والراحة أثناء بناء النماذج.

The fastest way to build, govern and scale your AI

Sign Up
Table of Contents

One Gateway for Every LLM, Agent and MCP Server

Book a 30-min with our AI expert

Book a Demo

The fastest way to build, govern and scale your AI

Book Demo
Summarize with
ChatGPT logo by OpenAI
Perplexity AI logo
Blurry red snowflake on white background, symmetrical frosty design with soft edges and abstract shape.

Discover More

November 5, 2025
|
5 min read

توطين البيانات في عصر الذكاء الاصطناعي الوكيل: كيف تمكّن بوابات الذكاء الاصطناعي التوسع السيادي والامتثال

October 5, 2023
|
5 min read

<Webinar> عرض الذكاء الاصطناعي التوليدي للمؤسسات

Best Fine Tuning Tools for Model Training
May 3, 2024
|
5 min read

أفضل 6 أدوات ضبط دقيق لتدريب النماذج في عام 2026

May 25, 2023
|
5 min read

النماذج اللغوية الكبيرة مفتوحة المصدر: تبنّها أو تندثر

July 4, 2026
|
5 min read

تكاملات منصة التعلم الآلي #1: Weights & Biases

Use Cases
Engineering and Product
July 4, 2026
|
5 min read

تكامل Pillar Security مع TrueFoundry

No items found.
July 4, 2026
|
5 min read

التخزين المؤقت الدلالي لنماذج اللغة الكبيرة (LLMs): تقليل التكلفة وزمن الاستجابة بما يتجاوز التخزين المؤقت للبادئات

No items found.
July 4, 2026
|
5 min read

تكاملات أدوات التعلم الآلي #2 DVC لإدارة إصدارات بياناتك

Engineering and Product
Use Cases
No items found.

Recent Blogs

Black left pointing arrow symbol on white background, directional indicator.
Black left pointing arrow symbol on white background, directional indicator.
Take a quick product tour
Start Product Tour
Product Tour