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.
PostgreSQL için Azure Veritabanı'na veritabanı güncelleştirmelerini dağıtmak için bir iş akışı kullanarak GitHub Actions'ı kullanmaya başlayın.
Önkoşullar
Şunlara sahip olmanız gerekir:
- Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir hesap oluşturun.
- Örnek verileri (
data.sql) içeren bir GitHub deposu. GitHub hesabınız yoksa, ücretsiz kaydolun. - PostgreSQL için Azure Veritabanı esnek sunucu örneği.
- PostgreSQL için Azure Veritabanı oluşturma.
İş 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:
| Bölüm | 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
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.
PostgreSQL için Azure Veritabanı bağlantı dizesini 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.
Bağlan bölümünü uygulamanızdan genişletin, ADO.NET bağlantı dizesini kopyalayın ve yer tutucu değeri {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;
Bu bağlantı dizesini GitHub gizli anahtarı olarak kullanırsınız.
GitHub gizli bilgilerini yapılandırın
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.
>.
Yeni depo gizli anahtarını 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_ID,AZURE_TENANT_IDveAZURE_SUBSCRIPTION_IDiçin gizli bilgiler 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 anahtarı Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik AZURE_CLIENT_ID Müşteri Kimliği AZURE_ABONELİK_KİMLİĞİ Abonelik Kimliği AZURE_TENANT_ID Dizin (kullanıcı) kimliği Uyarı
Güvenlik nedeniyle, değerleri doğrudan iş akışına geçirmek yerine GitHub Gizli Dizilerini kullanmanızı öneririz.
İş 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 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 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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}PostgreSQL için Azure Veritabanı esnek sunucu örneğine bağlanmak için Azure PostgreSQL Dağıtımı eylemini kullanın. Sunucunuzun adıyla
POSTGRESQL_SERVER_NAMEile değiştirin. Deponuzun kök dizinindedata.sqladlı bir PostgreSQL için Azure Veritabanı 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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - 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ın çalıştırılmasının ayrıntılı günlüklerini görmek için ilk sonucu açın.
Kaynakları temizle
PostgreSQL için Azure Veritabanı veritabanınız ve deponuz artık gerekli olmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.
İlgili içerik
- Azure ve GitHub tümleştirmesi.
- Sunucuya bağlanma.