GitHub İşlemleri
GitHub ile iş akışlarını otomatikleştirmek istediğinizde GitHub Actions'ı kullanırsınız.
GitHub öncelikli olarak kod projelerini barındırmak için kullanılır. Makine öğrenmesi kodunuzu bir GitHub deposunda (depo) barındırdığınızda, kodunuzu otomatik olarak derlemek, test etmek ve dağıtmak için GitHub Actions oluşturabilirsiniz.
Not
GitHub Actions'ı Azure Machine Learning işlem hatlarıyla kullanmak için GitHub deponuzun güvenli bir bağlantı üzerinden Azure Machine Learning çalışma alanınıza erişmesine izin vermeniz gerekir.
Azure Machine Learning işlem hattını çalıştırmak için GitHub Actions'ı kullanmayı öğreneceksiniz.
GitHub Eylemi oluşturma
- İş akışını tetikleyecek bir olay tanımlayın.
- İş akışlarını çalıştırarak işlerden oluşur.
- bir iş bir veya daha fazla adım içerir.
- Adım olarak bir Azure Machine Learning işlem hattı çalıştırın.
- Azure Machine Learning işlem hattı betiklerden veya Azure Machine Learning bileşenlerinden oluşur.
GitHub Actions için iş akışı oluşturmak için, bir YAML dosyasında çalıştırmak istediğiniz adımları tanımlarsınız. YAML dosyasına şunları ekleyeceksiniz:
- Olay: İş akışını nasıl tetiklemeniz gerekir?
- İş: Bir çalıştırıcıda yürütmek istediğiniz adım grubu. Makine öğrenmesi iş yükleri için büyük olasılıkla bir Ubuntu Linux sanal makinesi kullanacaksınız.
-
Adım: Çalıştırmak istediğiniz bir betik veya eylem. Örneğin, Azure Machine Learning işlem hattını (
az ml job create) başlatmak için bir CLI komutu.
İpucu
GitHub Actions'ta kullanılan temel kavramlar hakkında daha fazla bilgi edinin.
Depoya her değişiklik gönderildiğinde Azure Machine Learning işlem hattını çalıştırmak için aşağıdaki gibi bir YAML dosyası kullanabilirsiniz:
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
Örnek iş akışı:
- Çalıştırıcıda kullanılabilir hale getirmek için depoyu gözden geçirin.
- CLI için Azure Machine Learning uzantısını yükleyin.
- Önceden tanımlanmış
AZURE_CREDENTIALSkullanarak Azure'da oturum açın. -
srcTüm üretim kodunuzu içeren klasöre gidin. - Azure Machine Learning işlem hattını çalıştırın.
GitHub Actions ile iş akışı çalıştırma
İş akışını tanımlamak için YAML dosyasını oluşturduğunuzu varsayalım. YAML dosyasını deponuzdaki .github/workflows/ dizinde depolarsınız.
İş akışını görüntülemek için deponuzun GitHub Actions sekmesine gidin.
GitHub, dizinde .github/workflows/ depolanan tüm iş akışlarını otomatik olarak alır.
İpucu
İş akışı YAML dosyanıza eklerseniz workflow_dispatch: , eylemler sekmesinden çalıştırılacak iş akışını el ile tetikleyebilirsiniz.
İş akışı YAML dosyanızda belirtilen olaylarla iş akışını tetikleyebilirsiniz. Örnekte, depoya yapılan bir gönderme, iş akışının çalıştırılmasını tetikler. Her değişiklik yaptığınızda ve işlemelerinizi depoya (yerel olarak Visual Studio Code'da veya doğrudan GitHub'da) gönderdiğinizde iş akışı çalıştırılır.
Tüm adımların başarıyla yürütüldü mü yoksa hangi hata iletilerini aldığınızı daha ayrıntılı incelemek için en son çalıştırmayı seçin.
Bir iş akışı bir Azure Machine Learning işlem hattını tetiklediğinde, Azure Machine Learning işlem hattında hatalar oluşmaya devam ettiğinden Azure Machine Learning çalışma alanında işlem hattı çalıştırmasını da gözden geçirmeniz gerekir. Tüm hata iletileri Azure Machine Learning işlem hattı deneme çalıştırmasının outputs klasöründe görüntülenebilir.