A GitHub Actions használata az Azure SQL Database-hez való csatlakozáshoz
Ismerkedés a GitHub Actions szolgáltatással egy munkafolyamat használatával, amely adatbázis-frissítéseket helyez üzembe az Azure SQL Database-ben.
Előfeltételek
A következők szükségesek:
- Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
- GitHub-adattár dacpac-csomaggal (
Database.dacpac
). Ha nincs GitHub-fiókja, regisztráljon ingyenesen. - Egy Azure SQL Database. Rövid útmutató: Önálló Azure SQL Database-adatbázis létrehozása.
- Az adatbázisba importálandó .dacpac-fájl .
Munkafolyamat-fájl áttekintése
A GitHub Actions-munkafolyamatokat egy YAML-fájl (.yml) definiálja az /.github/workflows/
adattár elérési útján. Ez a definíció a munkafolyamatot alkotó különböző lépéseket és paramétereket tartalmazza.
A fájl két szakaszból áll:
Szakasz | Tevékenységek |
---|---|
Hitelesítés | 1.1. Üzembehelyezési hitelesítő adatok létrehozása. |
Telepítés | 1. Helyezze üzembe az adatbázist. |
Üzembehelyezési hitelesítő adatok létrehozása
Hozzon létre egy egyszerű szolgáltatást az az ad sp create-for-rbac paranccsal az Azure CLI-ben. Futtassa ezt a parancsot az Azure Cloud Shell használatával az Azure Portalon, vagy a Kipróbálás gombra kattintva.
az ad sp create-for-rbac --name "myML" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
--json-auth
A paraméter --json-auth
az Azure CLI 2.51.0-s verzióiban >érhető el. A használat --sdk-auth
előtti verziók elavultsági figyelmeztetéssel.
A fenti példában cserélje le a helyőrzőket az előfizetés azonosítójára, az erőforráscsoport nevére és az alkalmazás nevére. A kimenet egy JSON-objektum, amelynek szerepkör-hozzárendelési hitelesítő adatai az alábbiakhoz hasonló hozzáférést biztosítanak az App Service-alkalmazáshoz. Másolja ezt a JSON-objektumot későbbre.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Az SQL-kapcsolati sztring másolása
Az Azure Portalon nyissa meg az Azure SQL Database-t, és nyissa meg Gépház> Csatlakozás ion-sztringeket. Másolja az ADO.NET kapcsolati sztringet. Cserélje le a helyőrző értékeket a következőre your_database
: és your_password
. A kapcsolati sztring ehhez a kimenethez hasonlóan néz ki.
Server=tcp:my-sql-server.database.windows.net,1433;Initial Catalog={your-database};Persist Security Info=False;User ID={admin-name};Password={your-password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
A kapcsolati sztring GitHub-titkos kódként fogja beállítani. AZURE_SQL_CONNECTION_STRING
A GitHub titkos kulcsainak konfigurálása
A GitHubon nyissa meg az adattárat.
Nyissa meg a Gépház a navigációs menüben.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza az Új tárház titkos kódját.
Illessze be az Azure CLI parancs teljes JSON-kimenetét a titkos kód értékmezőjébe. Adja meg a titkos nevet
AZURE_CREDENTIALS
.Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.
Az SQL-kapcsolati sztring titkos kód hozzáadása
A GitHubon nyissa meg az adattárat.
Nyissa meg a Gépház a navigációs menüben.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza az Új tárház titkos kódját.
Illessze be az SQL-kapcsolati sztring. Adja meg a titkos nevet
AZURE_SQL_CONNECTION_STRING
.Válassza az Add secret (Titkos kód hozzáadása) lehetőséget.
Munkafolyamat hozzáadása
Nyissa meg a GitHub-adattár műveletek elemét.
Válassza a Munkafolyamat beállítása lehetőséget.
Töröljön mindent a
on:
munkafolyamat-fájl szakasza után. A fennmaradó munkafolyamat például így nézhet ki.name: SQL for GitHub Actions on: push: branches: [ main ] pull_request: branches: [ main ]
Nevezze át a munkafolyamatot
SQL for GitHub Actions
, és adja hozzá a kivételi és bejelentkezési műveleteket. Ezek a műveletek a korábban létrehozott GitHub-titkos kóddal ellenőrzik a webhely kódját, és hitelesítik azAZURE_CREDENTIALS
Azure-ban.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@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }}
Az Azure SQL Deploy művelet használatával csatlakozzon az SQL-példányhoz. Az adattár gyökérszintjén dacpac-csomagnak (
Database.dacpac
) kell lennie. Használja aAZURE_SQL_CONNECTION_STRING
korábban létrehozott GitHub-titkos kulcsot.- uses: azure/sql-action@v2 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'Publish'
Végezze el a munkafolyamatot úgy, hogy hozzáad egy műveletet az Azure kijelentkezéséhez. Itt található a befejezett munkafolyamat. A fájl megjelenik az
.github/workflows
adattár mappájában.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@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} - uses: azure/sql-action@v2 with: connection-string: ${{ secrets.AZURE_SQL_CONNECTION_STRING }} path: './Database.dacpac' action: 'Publish' # Azure logout - name: logout run: | az logout
Az üzembe helyezés áttekintése
Nyissa meg a GitHub-adattár műveletek elemét.
Nyissa meg az első eredményt a munkafolyamat futtatásának részletes naplóinak megtekintéséhez.
Az erőforrások eltávolítása
Ha az Azure SQL-adatbázisra és az adattárra már nincs szükség, törölje az üzembe helyezett erőforrásokat az erőforráscsoport és a GitHub-adattár törlésével.
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: