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.
Začínáme s GitHub Actions pomocí pracovního postupu k nasazení aktualizací databáze do Azure Database for PostgreSQL
Požadavky
Potřebujete:
- Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.
- Úložiště GitHub s ukázkovými daty (
data.sql). Pokud nemáte účet GitHubu, zaregistrujte se zdarma. - Azure Database for PostgreSQL – flexibilní server
- Vytvoření flexibilního serveru Azure Database for PostgreSQL
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:
| Oddíl | Tasks |
|---|---|
| Autentizace | 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 služby příslušnou roli v Azure portalu, Azure CLI nebo 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.
Zkopírujte připojovací řetězec Azure Database for PostgreSQL
Na portálu Azure přejděte na flexibilní server Azure Database for PostgreSQL. V nabídce prostředků v části Nastavení vyberte Připojit. Na této stránce pomocí pole se seznamem Název databáze vyberte název databáze, ke které se chcete připojit. Rozbalte část Připojit z aplikace a zkopírujte připojovací řetězec ADO.NET. Nahraďte zástupnou hodnotu {your_password} skutečným heslem. Připojovací řetězec vypadá podobně jako tento.
Server={servername.postgres.database.azure.com};Database={your_database};Port=5432;User Id={adminusername};Password={your_password};Ssl Mode=Require;
Použijte připojovací řetězec jako tajný kód GitHub.
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é kódy a proměnné > Akce.
Vyberte Nový tajný klíč ú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_IDaAZURE_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 Identifikátor předplatného 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řidejte svůj 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 vypadat například takto.name: CI on: push: branches: [ main ] pull_request: branches: [ main ]Přejmenujte pracovní postup
PostgreSQL for GitHub Actionsa přidejte akce rezervace a přihlášení. Tyto akce stáhnou kód vašeho webu a ověří se vůči Azure pomocí tajných údajů GitHubu, které jste vytvořili dříve.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 }}Pomocí akce Azure PostgreSQL Deploy se připojte k flexibilnímu serveru služby Azure Database for PostgreSQL. Nahraďte
POSTGRESQL_SERVER_NAMEnázvem serveru. Měli byste mít datový soubor Azure Database for PostgreSQL pojmenovanýdata.sqlna kořenové úrovni úložiště.- uses: azure/postgresql@v1 with: connection-string: ${{ secrets.AZURE_POSTGRESQL_CONNECTION_STRING }} server-name: POSTGRESQL_SERVER_NAME plsql-file: './data.sql'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/workflowssložce úložiště.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
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 zdroje
Pokud už databázi a úložiště Azure Database for PostgreSQL nepotřebujete, vyčistěte prostředky, které jste nasadili, odstraněním skupiny prostředků a úložiště GitHub.