النشر في بيئة التجهيز
أعدّوا سير عمل لنشر تطبيقكم تلقائيًا في بيئة تجهيز لإجراء اختبارات ما قبل الإنتاج.
النشر في بيئة التجهيز درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ما بيئة التجهيز؟
تخيل أنك أنشأت ميزة جديدة لتطبيقك. قبل عرضها على الجميع (في بيئة الإنتاج)، سترغب في اختبارها في إعداد آمن وواقعي. هنا تأتي بيئة التجهيز!
بيئة التجهيز هي نسخة من بيئة الإنتاج. وتُستخدم للاختبار النهائي قبل الإصدار، مما يتيح لك اكتشاف المشكلات وضمان الجودة دون التأثير في المستخدمين الفعليين.
بيئة التجهيز مقابل بيئة الإنتاج
رغم أن بيئة التجهيز تحاكي بيئة الإنتاج، فإن الغرض من كل منهما مختلف:
- بيئة التجهيز: مخصصة لضمان الجودة (QA)، واختبار قبول المستخدم (UAT)، والفحوصات النهائية. ولا يتفاعل معها سوى جمهور محدود (المختبرين وأصحاب المصلحة).
- بيئة الإنتاج: البيئة الفعلية التي يستخدمها جميع المستخدمين النهائيين. وأي مشكلات فيها تؤثر مباشرةً في عملائك.
يُعد النشر إلى بيئة التجهيز أولًا خطوة مهمة لتقليل المخاطر في بيئة الإنتاج.
ميزة Environments في GitHub
يوفر GitHub Actions ميزة قوية تُسمى Environments. وتتيح لك هذه الميزة تعريف بيئات منطقية (مثل staging أو production) داخل مستودعك.
تساعدك البيئات على:
- تطبيق قواعد الحماية (الموافقات اليدوية ومؤقتات الانتظار).
- إدارة الأسرار الخاصة بكل بيئة.
- تتبع عمليات النشر إلى بيئات محددة.
تعريف بيئة تجهيز
لاستخدام بيئة في سير عملك، عليك أولًا تعريفها في إعدادات مستودعك:
- انتقل إلى مستودعك على GitHub.
- انقر على الإعدادات > البيئات.
- انقر على بيئة جديدة وسمِّها، مثلًا،
staging.
يمكنك إضافة قواعد حماية هنا، مثل اشتراط موافقة أحد المراجعين على عمليات النشر.
البنية الأساسية لسير عمل النشر
لنلقِ الآن نظرة على كيفية توجيه GitHub Actions للنشر إلى بيئة staging. تحدد البيئة داخل مهمة:
name: Deploy to Staging
on: push
jobs:
deploy-to-staging:
runs-on: ubuntu-latest
environment: staging # This links to your 'staging' environment
steps:
- name: Say Hello
run: echo "Deploying to staging!"تهيئة حماية البيئة
لا يقتصر السطر environment: staging في سير عملك على تسمية عملية النشر. فإذا أعددت قواعد حماية لبيئة staging في إعدادات مستودعك، فستُطبَّق هذه القواعد تلقائيًا.
على سبيل المثال، إذا اشترطت الحصول على موافقة يدوية، فستتوقف هذه المهمة مؤقتًا إلى أن يراجع شخص مخوَّل عملية النشر ويوافق عليها.
بناء تطبيقك
قبل النشر، تحتاج عادةً إلى بناء تطبيقك. وقد يشمل ذلك تجميع التعليمات البرمجية، وتشغيل الاختبارات، أو حزم الأصول. سنضيف هذه الخطوات إلى مهمتنا:
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example build step)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run buildنشر الملفات الناتجة عن البناء
بعد البناء، تتمثل الخطوة التالية في نقل ملفات تطبيقك إلى خادم التجهيز. وغالبًا ما يتضمن ذلك استخدام SSH أو FTP أو أداة نشر خاصة بالسحابة.
إليك خطوة توضيحية. في سيناريو حقيقي، ستستبدل echo بأمر النشر الفعلي:
- name: Deploy to Staging Server
run: |
echo "Simulating deployment to staging..."
# scp -r ./dist user@staging.example.com:/var/www/html
# Or use a specific deployment action for AWS, Azure, etc.جمع العناصر: سير عمل التجهيز
سيُشغَّل سير العمل الكامل هذا عند دفع التغييرات إلى فرع develop. فهو يسحب التعليمات البرمجية، ويبني التطبيق، ثم ينشره بصورة توضيحية إلى بيئة staging، مع الالتزام بأي قواعد حماية أعددتها.
name: Deploy to Staging Environment
on:
push:
branches:
- develop # Trigger only on pushes to the 'develop' branch
jobs:
deploy:
runs-on: ubuntu-latest
environment: staging # Link this job to the 'staging' environment
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js (Example)
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Deploy to Staging Server
run: echo "Deployment to staging completed!"اختبار النشر إلى بيئة التجهيز
لقد تعلمت كيفية إعداد سير عمل في GitHub Actions للنشر إلى بيئة تجهيز. فلنختبر معلوماتك!
مراجعة: عمليات النشر إلى بيئة التجهيز
أحسنت! لقد تعلمت كيفية إعداد GitHub Actions للنشر إلى بيئة تجهيز.
- بيئة التجهيز هي بيئة شبيهة ببيئة الإنتاج مخصصة للاختبار قبل الإنتاج.
- تساعد Environments في GitHub على إدارة أمان النشر والأسرار.
- تستخدم مهام سير العمل المفتاح
environmentلاستهداف بيئات محددة. - تقلل هذه العملية المخاطر، مما يضمن انتقالًا أكثر سلاسة إلى بيئة الإنتاج.
سنستكشف بعد ذلك كيفية إدارة المعلومات الحساسة باستخدام متغيرات البيئة والأسرار!
الأسئلة الشائعة
هل درس «النشر في بيئة التجهيز» مجاني؟
نعم — نص درس «النشر في بيئة التجهيز» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «النشر في بيئة التجهيز»؟
أعدّوا سير عمل لنشر تطبيقكم تلقائيًا في بيئة تجهيز لإجراء اختبارات ما قبل الإنتاج. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «النشر في بيئة التجهيز»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى النشر المستمر
- النشر في بيئة التجهيز
- متغيرات البيئة والأسرار
- النشر في الإنتاج باستخدام بوابات الموافقة