الإجراءات المخصصة وMarketplace
استكشف Marketplace الخاص بـ GitHub Actions للعثور على إجراءات جاهزة، وتعلّم إنشاء إجراءاتك المخصصة
الإجراءات المخصصة وMarketplace درس مجاني في Git & GitHub Professional Workflow على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Git & GitHub Professional Workflow، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
اكتشاف GitHub Actions Marketplace
مرحبًا بكم في GitHub Actions Marketplace! إنها منصة حيوية يمكنكم فيها العثور على آلاف الإجراءات المُنشأة مسبقًا، والتي أنشأتها GitHub والمساهمون في المصادر المفتوحة والشركاء التجاريون.
يمكن دمج هذه الإجراءات بسهولة في مسارات عملكم، مما يوفر الوقت والجهد من خلال إعادة استخدام حلول موجودة للمهام الشائعة.
العثور على الإجراء المناسب
يُعد تصفح Marketplace أمرًا سهلًا. يمكنكم البحث عن الإجراءات باستخدام الكلمات المفتاحية، وتصفية النتائج حسب الفئة، مثل «CI/CD» أو «النشر»، وترتيبها حسب الشعبية.
- ابحثوا عن الإجراءات ذات التقييمات المرتفعة بالنجوم والتي تحظى بصيانة نشطة.
- راجعوا توثيق الإجراء لمعرفة تعليمات الاستخدام والمدخلات والمخرجات.
- تحققوا من عدد مرات استخدام الإجراء في المستودعات العامة كدليل على شيوعه.
دمج إجراء جاهز
يُعد استخدام إجراء من Marketplace أمرًا بسيطًا. إذ تشيرون إليه باستخدام الكلمة المفتاحية uses في YAML الخاص بسير العمل، متبوعةً بمالك الإجراء/المستودع@الإصدار.
من الأمثلة الشائعة actions/checkout، الذي يجلب تعليمات مستودعكم البرمجية كي يتمكن سير العمل من الوصول إليها.
name: Marketplace Demo
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Say hello
run: echo "Hello from workflow!"مدخلات الإجراءات ومخرجاتها
تقبل العديد من الإجراءات مدخلات لتخصيص سلوكها، ويُحدَّد ذلك باستخدام الكلمة المفتاحية with. كما يمكنها إنتاج مخرجات تستطيع الخطوات الأخرى في سير العمل استخدامَها.
على سبيل المثال، يمكن أن يتلقى الإجراء actions/setup-node مدخلًا باسم node-version.
name: Node Setup Demo
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: '18.x'
- name: Install dependencies
run: npm installمتى تنشئون إجراءً خاصًا بكم؟
رغم أن Marketplace توفر الكثير من الخيارات، قد تحتاجون أحيانًا إلى شيء محدد. وهنا تكون الإجراءات المخصصة مفيدة!
قد تنشئون إجراءً مخصصًا من أجل:
- أتمتة أدوات الشركة الداخلية.
- التكامل مع واجهة برمجة تطبيقات فريدة لا تغطيها الإجراءات الموجودة.
- تنفيذ مهام متخصصة للغاية تتعلق بعملية إنشاء مشروعكم.
أنواع الإجراءات المخصصة
هناك نوعان رئيسيان من الإجراءات المخصصة التي يمكنكم إنشاؤها:
- إجراءات JavaScript: تعمل مباشرةً على جهاز المشغّل باستخدام Node.js. وغالبًا ما تكون أسرع في التطوير وأسهل في المشاركة.
- إجراءات حاويات Docker: تعمل داخل حاوية Docker. وهي مناسبة لتغليف البيئات والتبعيات، مما يضمن تنفيذًا متسقًا عبر المشغّلات المختلفة.
سنركّز على إجراءات JavaScript للتبسيط.
ملف `action.yml`
يحتاج كل إجراء مخصص إلى ملف action.yml. يحدّد هذا الملف البيانات الوصفية للإجراء، بما في ذلك اسمه ووصفه والمدخلات التي يقبلها والمخرجات التي ينتجها وكيفية تشغيله.
يشبه هذا الملف البيان الخاص بإجرائكم، إذ يخبر GitHub Actions بكل ما يحتاج إلى معرفته.
name: 'My Custom Greeting Action'
description: 'Greets a person with a custom message.'
inputs:
who-to-greet:
description: 'Who to greet'
required: true
default: 'World'
outputs:
time:
description: 'The time we greeted you'
runs:
using: 'node16'
main: 'index.js'إنشاء إجراء JavaScript بسيط
لننشئ إجراء JavaScript أساسيًا جدًا. ستحتاجون إلى ملف index.js، المحدد في action.yml، وإلى ملف package.json للتبعيات عادةً.
تُعد الحزمة @actions/core ضرورية للتفاعل مع سير العمل، مثل الحصول على المدخلات وتعيين المخرجات.
const core = require('@actions/core');
async function run() {
try {
const nameToGreet = core.getInput('who-to-greet');
console.log(`Hello ${nameToGreet}!`);
const time = (new Date()).toTimeString();
core.setOutput("time", time);
} catch (error) {
core.setFailed(error.message);
}
}
run();دمج الإجراء المخصص الخاص بكم
لاستخدام إجرائكم المخصص، ضعوا ملفاته، مثل action.yml وindex.js وغيرها، في دليل فرعي داخل مستودعكم. ثم أشيروا إليه في سير العمل باستخدام مسار نسبي مع uses: ./path/to/your/action.
يتيح لكم ذلك اختبار الإجراء محليًا قبل نشره في Marketplace، إن رغبتم في ذلك.
name: Use Custom Action Demo
on: [push]
jobs:
greet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run my custom action
uses: ./my-custom-action # Path to action directory
with:
who-to-greet: 'CoddyKit User'
- name: Get the output time
run: echo "The greeting time was ${{ steps.run-my-custom-action.outputs.time }}"مكوّنات الإجراءات المخصصة
لقد تعلمتم العناصر الأساسية المتعلقة بإنشاء إجراءات GitHub Actions المخصصة واستخدامها. لنختبر مدى فهمكم!
مراجعة Marketplace والإجراءات المخصصة
أحسنتم! لقد استكشفتم إمكانات كلٍّ من GitHub Actions Marketplace والإجراءات المخصصة.
- يوفّر Marketplace مجموعة كبيرة من الإجراءات الجاهزة للاستخدام لتبسيط مسارات عملكم.
- تتيح لكم الإجراءات المخصصة توسيع GitHub Actions لتلبية احتياجات المشاريع أو المؤسسات الفريدة.
وبالجمع بين هذه العناصر، يمكنكم إنشاء مسارات أتمتة قوية ومصممة خصيصًا!
الأسئلة الشائعة
هل درس «الإجراءات المخصصة وMarketplace» مجاني؟
نعم — نص درس «الإجراءات المخصصة وMarketplace» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Git & GitHub Professional Workflow، انتقل إلى CoddyKit PRO. تتضمن دورة Git & GitHub Professional Workflow 4 دروس في المجموع.
ماذا ستتعلم في «الإجراءات المخصصة وMarketplace»؟
استكشف Marketplace الخاص بـ GitHub Actions للعثور على إجراءات جاهزة، وتعلّم إنشاء إجراءاتك المخصصة تتمرن على Git & GitHub Professional Workflow مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Git & GitHub Professional Workflow؟
لا تُشترط خبرة سابقة. Git & GitHub Professional Workflow على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «الإجراءات المخصصة وMarketplace»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Git & GitHub Professional Workflow هذا؟
نعم. كل درس في Git & GitHub Professional Workflow يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى GitHub Actions
- إنشاء مسارات عمل CI/CD
- الإجراءات المخصصة وMarketplace
- الأسرار ومتغيرات البيئة في Actions