Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:Azure SQL Database
Začínáme s GitHub Actions pomocí pracovního postupu pro nasazení aktualizací databáze do Azure SQL Database
Požadavky
Potřebujete:
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Úložiště GitHub s balíčkem dacpac (
Database.dacpac
). Pokud nemáte účet GitHubu, zaregistrujte se zdarma. - An Azure SQL Database. Rychlý start: Vytvoření jednotlivé databáze Azure SQL Database
- Soubor .dacpac, který chcete importovat do databáze.
Přehled souboru pracovního postupu
Pracovní postup GitHub Actions je definovaný souborem YAML (.yml) v /.github/workflows/
cestě ve vašem úložišti. Tato definice obsahuje různé kroky a parametry, které tvoří pracovní postup.
Soubor má dvě části:
Sekce | Úlohy |
---|---|
Authentication | 1.1. Vygenerujte přihlašovací údaje pro nasazení. |
Nasazení | 1. Nasaďte databázi. |
Generování přihlašovacích údajů pro nasazení
Pokud chcete použít akci přihlášení k Azure s OIDC, musíte nakonfigurovat přihlašovací údaje federované identity v aplikaci Microsoft Entra nebo spravované identitě přiřazené uživatelem.
Možnost 1: Aplikace Microsoft Entra
- Vytvořte aplikaci Microsoft Entra s oprávněním služby pomocí Azure portálu , příkazového nástroje Azure CLI , nebo modulu Azure PowerShell .
- Zkopírujte hodnoty ID klienta, ID předplatnéhoa ID adresáře (tenanta), abyste je mohli použít později v pracovním postupu GitHub Actions.
- Přiřaďte instančnímu objektu příslušnou roli portálu Azure , Azure CLInebo Azure PowerShell.
- Nakonfigurujte federované identitní pověření v aplikaci Microsoft Entra tak, aby důvěřovalo tokenům vydaným GitHub Actions pro vaše úložiště na GitHubu.
možnost 2: Spravovaná identita přiřazená uživatelem
- Vytvořte uživatelsky přiřazenou spravovanou identitu.
- Zkopírujte hodnoty ID klienta, ID předplatnéhoa ID adresáře (tenanta), abyste je mohli použít později v pracovním postupu GitHub Actions.
- Přiřadit odpovídající roli spravované identitě přiřazené uživatelem.
- Nakonfigurujte pověření federované identity pro spravovanou identitu přiřazenou uživatelem, aby důvěřovala tokenům vydaným GitHub Actions ve vašem úložišti GitHub.
Kopírování připojovací řetězec SQL
V portálu Azure přejděte na svou databázi Azure SQL a otevřete Nastavení>připojovací řetězce. Zkopírujte připojovací řetězec pro ADO.NET. Nahraďte zástupné hodnoty pro your_database
a your_password
.
Připojovací řetězec nastavíte jako tajný kód AZURE_SQL_CONNECTION_STRING
GitHubu.
Konfigurace tajných kódů GitHubu
Musíte zadat ID klienta vaší aplikace, ID adresáře (tenanta)a ID předplatného pro akci přihlášení. Tyto hodnoty je možné zadat buď přímo v pracovním postupu, nebo je můžete uložit v tajných kódech GitHubu a odkazovat na je ve vašem pracovním postupu. Uložením hodnot jako tajných kódů GitHubu je bezpečnější možnost.
Na GitHubu přejděte do svého úložiště.
Vyberte Zabezpečení> Tajné informace a proměnné> Akce.
Vyberte nové tajemství úložiště.
Poznámka
Pokud chcete zvýšit zabezpečení pracovních postupů ve veřejných úložištích, použijte tajných kódů prostředí místo tajných kódů úložiště. Pokud prostředí vyžaduje schválení, úloha nemůže získat přístup k tajným kódům prostředí, dokud ho některý z požadovaných kontrolorů neschválí.
Vytváření tajných kódů pro
AZURE_CLIENT_ID
,AZURE_TENANT_ID
aAZURE_SUBSCRIPTION_ID
. Zkopírujte tyto hodnoty z vaší aplikace Microsoft Entra nebo spravované identity přiřazené uživatelem pro tajné kódy GitHubu:Tajný kód GitHubu Aplikace Microsoft Entra nebo spravovaná identita přiřazená uživatelem AZURE_CLIENT_ID ID klienta AZURE_PŘEDPLATNÉ_ID Subscription ID AZURE_TENANT_ID ID adresáře (klienta) Poznámka
Z bezpečnostních důvodů doporučujeme místo předávání hodnot přímo pracovnímu postupu používat tajné kódy GitHubu.
Přidání tajného kódu SQL připojovací řetězec
Na GitHubu přejděte do svého úložiště.
V navigační nabídce přejděte na Nastavení .
Vyberte > tajných kódů zabezpečení > a proměnných.
Vyberte Nové tajemství úložiště.
Vložte připojovací řetězec SQL. Dejte tajemství název
AZURE_SQL_CONNECTION_STRING
.Vyberte Add secret (Přidat tajný kód).
Přidejte pracovní postup
Přejděte na Akce pro úložiště GitHub.
Vyberte Nastavit pracovní postup sami.
Odstraňte všechno za oddílem
on:
souboru pracovního postupu. Váš zbývající pracovní postup může například vypadat takto.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ]
Přejmenujte pracovní postup
SQL for GitHub Actions
a přidejte akce rezervace a přihlášení. Tyto akce ověří kód vašeho webu a autentizují se v Azure pomocí tajemství GitHubuAZURE_CREDENTIALS
, které jste vytvořili dříve.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 }}
Použijte akci Nasazení Azure SQL k připojení k vaší instanci SQL. Na kořenové úrovni úložiště byste měli mít balíček dacpac (
Database.dacpac
). Použijte tajný klíč GitHubuAZURE_SQL_CONNECTION_STRING
, který jste vytvořili dříve.- uses: azure/sql-action@v2 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'Publish'
Dokončete pracovní postup přidáním akce pro odhlášení z Azure. Tady je dokončený pracovní postup. Soubor se zobrazí ve
.github/workflows
složce úložiště.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 }} # Azure logout - name: logout run: | az logout
Zkontrolujte své nasazení
Přejděte na Akce pro úložiště GitHub.
Otevřete první výsledek a prohlédněte si podrobné protokoly spuštění pracovního postupu.
Vyčistěte prostředky
Pokud už databázi a úložiště Azure SQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.