Hızlı Başlangıç: PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya bağlanmak için GitHub Actions'ı kullanma
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Esnek Sunucu
Veritabanı güncelleştirmelerini PostgreSQL için Azure Veritabanı esnek sunucuya 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.
- Örnek verileri (
data.sql
) içeren bir GitHub deposu. GitHub hesabınız yoksa ücretsiz olarak kaydolun. - PostgreSQL için Azure Veritabanı esnek sunucu örneği.
İş akışı dosyasına genel bakış
GitHub Actions iş akışı, deponuzdaki yoldaki /.github/workflows/
bir YAML (.yml) dosyası tarafından tanımlanır. Bu tanım, iş akışını oluşturan çeşitli adımları ve parametreleri içerir.
Dosyanın iki bölümü vardır:
Section | Görevler |
---|---|
Kimlik Doğrulaması | 1. Dağıtım kimlik bilgileri oluşturun. |
Dağıtma | 1. Veritabanını dağıtın. |
Dağıtım kimlik bilgileri oluşturma
Azure CLI'da az ad sp create-for-rbac komutuyla bir hizmet sorumlusu oluşturun. Azure portalında veya Deneyin düğmesini seçerek bu komutu Azure Cloud Shell ile çalıştırın.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
parametresi --json-auth
Azure CLI sürümlerinde >= 2.51.0 kullanılabilir. Bu --sdk-auth
kullanımdan önceki sürümler kullanımdan kaldırma uyarısıyla kullanılır.
Yukarıdaki örnekte yer tutucuları abonelik kimliğiniz, kaynak grubu adınız ve uygulama adınızla değiştirin. Çıktı, Aşağıdakine benzer şekilde App Service uygulamanıza erişim sağlayan rol ataması kimlik bilgilerine sahip bir JSON nesnesidir. Bu JSON nesnesini daha sonra için kopyalayın.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
PostgreSQL için Azure Veritabanı esnek sunucu bağlantı dizesi kopyalama
Azure portalında PostgreSQL için Azure Veritabanı esnek sunucu örneğinize gidin ve kaynak menüsünden Ayarlar'ın altında Bağlan'ı seçin. Bu sayfada, bağlanmak istediğiniz veritabanının adını seçmek için Veritabanı adı birleşik giriş kutusunu kullanın. Uygulamanızdan bağlan bölümünü genişletin, ADO.NET bağlantı dizesi kopyalayın ve yer tutucu değerini {your_password}
gerçek parolanızla değiştirin. bağlantı dizesi buna benzer.
Server={servername.postgres.database.azure.com};Database={your_database};Port=5432;User Id={adminusername};Password={your_password};Ssl Mode=Require;
bağlantı dizesi GitHub gizli dizisi olarak kullanırsınız.
GitHub gizli dizilerini yapılandırma
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.
Azure CLI komutundaki JSON çıkışının tamamını gizli dizinin değer alanına yapıştırın. Gizli diziye adını
AZURE_CREDENTIALS
verin.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: CI on: push: branches: [ main ] pull_request: branches: [ main ]
İş akışınızı
PostgreSQL for GitHub Actions
yeniden 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 dizilerini kullanarak Azure'da kimlik doğrulaması yapar.name: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }}
PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanmak için Azure PostgreSQL Dağıtımı eylemini kullanın. değerini sunucunuzun adıyla değiştirin
POSTGRESQL_SERVER_NAME
. Deponuzun kök düzeyinde adlıdata.sql
PostgreSQL için Azure Veritabanı esnek bir sunucu veri dosyanız olmalıdır.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME plsql-file: './data.sql'
Azure oturumunu kapatmak için bir eylem 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: PostgreSQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: azure/login@v1 with: client-id: ${{ secrets.AZURE_CREDENTIALS }} - uses: azure/postgresql@v1 with: server-name: POSTGRESQL_SERVER_NAME connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} plsql-file: './data.sql' # 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
PostgreSQL için Azure Veritabanı esnek sunucu veritabanınız ve deponuz artık gerekli olmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.