GitHub Actions

مكتمل

عندما تريد أتمتة مهام سير العمل باستخدام GitHub، يمكنك استخدام إجراءات GitHub.

يُستخدم GitHub في المقام الأول لاستضافة مشروعات التعليمات البرمجية. عند استضافة التعليمات البرمجية للتعلم الآلي في مستودع GitHub (المستودع)، يمكنك إنشاء إجراءات GitHub لإنشاء التعليمات البرمجية واختبارها ونشرها تلقائياً.

إشعار

لاستخدام إجراءات GitHub مع مسار التعلم الآلي من Microsoft Azure، تحتاج إلى السماح لمستودع GitHub بالوصول إلى مساحة عمل التعلم الآلي من Microsoft Azure من خلال اتصال آمن.

ستتعرّف على كيفية استخدام إجراءات GitHub لتشغيل مسار التعلم الآلي من Microsoft Azure.

إنشاء إجراء GitHub

Diagram of the hierarchy of pipelines.

  1. تعريف الحدث الذي سيشغّل سير العمل.
  2. شغّل سير العمل، الذي يتكون من وظائف.
  3. تحتوي الوظيفة على خطوة واحدة أو أكثر.
  4. كخطوة أولية، شغّل مساراً للتعلم الآلي من Microsoft Azure.
  5. يتكون مسار التعلم الآلي من Microsoft Azure من البرامج النصية أو من مكونات التعلم الآلي من Microsoft Azure.

لإنشاء سير العمل لإجراءات GitHub، عليك تعريف الخطوات التي تريد تشغيلها في ملف YAML. ثم عليك تضمين ما يلي في ملف YAML:

  • الحدث: أي كيف تريد تشغيل سير العمل.
  • الوظيفة: وهي مجموعة من الخطوات تريد تنفيذها على مشغّل. بالنسبة لأحمال عمل التعلم الآلي، فعلي الأرجح ستستخدم جهاز Ubuntu Linux الظاهري.
  • الخطوة: وهي برنامج نصي أو إجراء تريد تشغيله. على سبيل المثال، أمر واجهة سطر أوامر لبدء مسار التعلم الآلي من Microsoft Azure (az ml job create).

لتشغيل مسار التعلم الآلي من Microsoft Azure كلما تم دفع التغييرات إلى المستودع، يمكنك استخدام ملف YAML على هذا النحو:

name: Train model

on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest 
    steps:
    - name: check out repo
      uses: actions/checkout@v2
    - name: install az ml extension
      run: az extension add -n ml -y
    - name: azure login
      uses: azure/login@v1
      with:
        creds: ${{secrets.AZURE_CREDENTIALS}}
    - name: set current directory
      run: cd src
    - name: run pipeline
      run: az ml job create --file src/aml_service/pipeline-job.yml --resource-group dev-ml-rg --workspace-name dev-ml-ws

سيعمل سير العمل المثال على تنفيذ ما يلي:

  1. التحقق من المستودع لإتاحته على المشغّل.
  2. تثبيت ملحق Azure Machine Learning لواجهة CLI.
  3. تسجيل الدخول إلى Azure باستخدام AZURE_CREDENTIALS المُعرَّف مسبقاً.
  4. الانتقال إلى مجلد src، الذي يحتوي على جميع التعليمات البرمجية للإنتاج.
  5. تشغيل مسار التعلم الآلي من Microsoft Azure.

تشغيل سير عمل باستخدام إجراءات GitHub

لنفترض أنك قد أنشأت ملف YAML لتعريف سير العمل. ستخزّن ملف YAML في دليل .github/workflows/ بمستودعك.

لعرض سير العمل، انتقل إلى علامة التبويب الإجراءات في GitHub بمستودعك.

Screenshot of GitHub Actions overview.

سيلتقط GitHub تلقائياً أية مهام سير عمل مُخزّنة في دليل .github/workflows/.

تلميح

إذا أضفت workflow_dispatch: إلى ملف YAML لسير العمل، فيمكنك تشغيل سير العمل يدوياً للتشغيل من علامة التبويب الإجراءات.

يمكنك تشغيل سير العمل مع الأحداث المحددة في ملف YAML لسير العمل. في المثال، سيؤدي الدفع إلى المستودع إلى تحفيز تشغيل سير العمل. في أي وقت تُجري فيه تغييراً وتدفع تثبيتاتك إلى المستودع (محلياً في التعليمة البرمجية لـ Visual Studio أو مباشرةً في GitHub)، سيتم تشغيل سير العمل.

حدد أحدث تشغيل لفحص أدق لما إذا كانت جميع الخطوات قد تم تنفيذها بنجاح أو لرسائل الخطأ التي استلمتها.

Screenshot of successfully executed workflow.

عندما يشغّل سير العمل مسار التعلم الآلي من Microsoft Azure، يجب عليك أيضا مراجعة تشغيل المسار في مساحة عمل التعلم الآلي من Microsoft Azure حيث قد لا تزال تحدث أخطاء داخل مسار التعلم الآلي من Microsoft Azure. ستكون أية رسائل خطأ قابلة للعرض في مجلد المخرجات الخاص بتشغيل تجرية مسار التعلم الآلي من Microsoft Azure.