Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Veritabanı
veritabanı güncelleştirmelerini Azure SQL Veritabanı dağıtmak için bir iş akışı kullanarak GitHub Actions'ı kullanmaya başlayın.
Önkoşullar
Şunlara sahip olmanız gerekir:
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- dacpac paketi (
Database.dacpac) içeren bir GitHub deposu. GitHub hesabınız yoksa ücretsiz olarak kaydolun. - Bir Azure SQL Veritabanı. Hızlı Başlangıç: Tek Azure SQL Veritabanı veritabanı oluşturma.
- Veritabanınıza aktaracak bir .dacpac dosyası.
İş akışı dosyasına genel bakış
GitHub Actions iş akışı, deponuzdaki yoldaki /.github/workflows/ bir YAML (.yml) dosyası tarafından tanımlanır. Bu dosyada iş akışını oluşturan adımlar ve parametreler bulunur.
Dosyanın iki bölümü vardır:
| Section | Görevler |
|---|---|
| Kimlik Doğrulaması | 1. Dağıtım kimlik bilgileri oluşturun. |
| Dağıtma | 2. Veritabanını dağıtın. |
Dağıtım kimlik bilgileri oluşturma
OIDC ile Azure Oturum Açma eylemini kullanmak için, Microsoft Entra uygulamasında veya kullanıcı tarafından atanan yönetilen kimlikte federasyon kimlik bilgilerini yapılandırmanız gerekir.
Seçenek 1: Microsoft Entra uygulaması
- Azure Portal, Azure CLI veya Azure PowerShell kullanarak bir hizmet sorumlusu ile Microsoft Entra uygulaması oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Azure portalı, Azure CLI veya Azure PowerShell ile hizmet sorumlunuza uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuz için verilen belirteçlere güvenmek adına Microsoft Entra uygulamasında federasyon kimlik bilgilerini yapılandırın.
Seçenek 2: Kullanıcı tarafından atanan yönetilen kimlik
- Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Kullanıcı tarafından atanan yönetilen kimliğinize uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için kullanıcı tarafından atanan yönetilen kimlik üzerinde federasyon kimlik bilgilerini yapılandırın.
SQL bağlantı dizesi kopyalama
Azure portalında Azure SQL Veritabanı gidin ve Ayarlar> açın.
ADO.NET bağlantı dizesini kopyalayın. ve your_databaseiçin your_password yer tutucu değerlerini değiştirin.
bağlantı dizesi GitHub gizli dizisi AZURE_SQL_CONNECTION_STRINGolarak ayarlayacaksınız.
GitHub gizli dizilerini yapılandırma
Oturum açma eylemine uygulamanızın İstemci Kimliğini, Dizin (kiracı) Kimliğini ve Abonelik Kimliğini sağlamanız gerekir. Bu değerler doğrudan iş akışında sağlanabilir veya GitHub gizli dizilerinde depolanabilir ve iş akışınızda başvurulabilir. Değerleri GitHub gizli dizileri olarak kaydetmek daha güvenli bir seçenektir.
Güvenlik > Gizli Dizileri ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
Uyarı
Genel depolarda iş akışı güvenliğini geliştirmek için depo gizli dizileri yerine ortam gizli dizilerini kullanın. Eğer ortam onay gerektiriyorsa, biri gerekli gözden geçirenlerden onaylayana kadar görev ortamın gizli verilerine erişemez.
,
AZURE_CLIENT_IDveAZURE_TENANT_IDiçinAZURE_SUBSCRIPTION_IDgizli diziler oluşturun. Bu değerleri GitHub gizli dizileriniz için Microsoft Entra uygulamanızdan veya kullanıcı tarafından atanan yönetilen kimlikten kopyalayın:GitHub gizli dizisi Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik AZURE_CLIENT_ID Müşteri Kimliği AZURE_SUBSCRIPTION_ID Abonelik Kimliği AZURE_TENANT_ID Dizin (kiracı) kimliği Uyarı
Güvenlik nedeniyle, değerleri doğrudan iş akışına geçirmek yerine GitHub Gizli Dizilerini kullanmanızı öneririz.
SQL bağlantı dizesi gizli dizisini ekleme
Gezinti menüsünde Ayarlar'a gidin.
Güvenlik > Gizli Dizileri ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
SQL bağlantı dizesi yapıştırın. Gizli diziye adını
AZURE_SQL_CONNECTION_STRINGverin.Add secret (Gizli dizi ekle) öğesini seçin.
İş akışınızı ekleme
GitHub deponuz için Eylemler'e gidin.
İş akışınızı kendiniz ayarlayın'ı seçin.
İş akışı dosyanızın bölümünden
on:sonra her şeyi silin. Örneğin, kalan iş akışınız şöyle görünebilir.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ]İş akışınızı
SQL for GitHub Actionsyeniden adlandırın ve kullanıma alma ve oturum açma eylemlerini ekleyin. Bu eylemler site kodunuzu kullanıma alır ve daha önce oluşturduğunuz GitHub gizli dizisiniAZURE_CREDENTIALSkullanarak Azure'da kimlik doğrulaması yapar.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
SQL örneğine bağlanmak için Azure SQL Dağıtımı eylemini kullanın. Deponuzun kök düzeyinde bir dacpac paketine (
Database.dacpac) sahip olmanız gerekir. Daha önce oluşturduğunuz GitHub gizli dizisiniAZURE_SQL_CONNECTION_STRINGkullanın.- uses: azure/sql-action@v2.3 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'publish'Azure oturumunuzu kapatma eylemi ekleyerek iş akışınızı tamamlayın. Tamamlanmış iş akışı aşağıdadır. Dosya, deponuzun klasöründe görünür
.github/workflows.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: windows-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/sql-action@v2.3 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'publish' # Azure logout - name: logout run: | az logout
Dağıtımınızı gözden geçirme
GitHub deponuz için Eylemler'e gidin.
İş akışınızın çalıştırmasının ayrıntılı günlüklerini görmek için ilk sonucu açın.
Kaynakları temizleme
Azure SQL veritabanınız ve deponuz artık gerekli olmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.