Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:Azure SQL Database
Az GitHub Actions használatának kezdése egy munkafolyamattal, amely adatbázis-frissítéseket telepít az Azure SQL Database rendszerébe.
Előfeltételek
Szükséged van:
- Egy Azure-fiók, aktív előfizetéssel. Fiók létrehozása ingyenes.
- 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.
- Egy .dacpac fájl az adatbázisba való importáláshoz.
Munkafolyamat-fájl áttekintése
A GitHub Actions-munkafolyamatokat egy YAML-fájl (.yml) definiálja a /.github/workflows/ útvonalon a tárházában. Ez a fájl a munkafolyamatot alkotó lépéseket és paramétereket tartalmaz.
A fájl két szakaszból áll:
| Szakasz | Tevékenységek |
|---|---|
| Hitelesítés | 1. Üzembehelyezési hitelesítő adatok létrehozása. |
| Üzembe helyezés | 2. Helyezze üzembe az adatbázist. |
Üzembehelyezési hitelesítő adatok létrehozása
Az Azure Bejelentkezési művelet OIDC-vel való használatához konfigurálnia kell egy összevont identitás hitelesítő adatait egy Microsoft Entra-alkalmazáson vagy egy felhasználó által hozzárendelt felügyelt identitáson.
1. lehetőség: Microsoft Entra-alkalmazás
- Microsoft Entra-alkalmazás létrehozása szolgáltatásazonossággal az Azure Portal, Azure CLI vagy Azure PowerShell használatával.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a szolgáltatási főnévhez az Azure portal, az Azure CLI vagy az Azure PowerShell használatával.
- Konfiguráljon összevont identitás-hitelesítő adatokat egy Microsoft Entra-alkalmazáson , hogy megbízzon a GitHub Actions által a GitHub-adattárban kibocsátott jogkivonatokban.
2. lehetőség: Felhasználó által hozzárendelt felügyelt identitás
- Felhasználó által hozzárendelt felügyelt identitás létrehozása.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a felhasználó által hozzárendelt felügyelt identitáshoz.
- Konfiguráljon összevont identitás hitelesítő adatokat egy felhasználó által hozzárendelt felügyelt identitáson , hogy megbízzon a GitHub Actions által a GitHub-adattárban kibocsátott jogkivonatokban.
Az SQL kapcsolati sztringjének másolása
Az Azure portálon keresse meg az Azure SQL Database-t, és nyissa meg a Beállítások>Kapcsolati sztringekcímkét. Másolja az ADO.NET kapcsolati sztringet. Cserélje le a your_database és your_password helyőrző értékeket.
A kapcsolati sztringet állítsd be GitHub-titokként, AZURE_SQL_CONNECTION_STRING.
A GitHub titkos kulcsainak konfigurálása
A bejelentkezési művelethez meg kell adnia az alkalmazás ügyfél-, címtár- (bérlői) azonosítóját és előfizetés-azonosítóját. Ezek az értékek közvetlenül megadhatók a munkafolyamatban, vagy a GitHub titkaiban tárolhatók, és a munkafolyamatban hivatkozhatók rájuk. Az értékek GitHub-titkos kulcsként való mentése a biztonságosabb megoldás.
A GitHubon nyissa meg az adattárat.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza a Új tárhely-titoklehetőséget.
Megjegyzés
A nyilvános adattárak munkafolyamat-biztonságának javítása érdekében tárházi titkos kulcsok helyett használjon környezeti titkos kulcsokat . Ha a környezet jóváhagyást igényel, a feladatok nem férhetnek hozzá a környezeti titkos kódokhoz, amíg az egyik szükséges véleményező nem hagyja jóvá.
Titkos kulcsok létrehozása a következőhöz
AZURE_CLIENT_ID: ,AZURE_TENANT_IDésAZURE_SUBSCRIPTION_ID. Másolja ki ezeket az értékeket a Microsoft Entra-alkalmazásból vagy a felhasználó által hozzárendelt felügyelt identitásból a GitHub-titkos kulcsokhoz:GitHub-titkos kód Microsoft Entra-alkalmazás vagy felhasználó által hozzárendelt felügyelt identitás AZURE_CLIENT_ID Ügyfélazonosító AZURE_SUBSCRIPTION_ID Előfizetés azonosítója AZURE_TENANT_ID Címtár (bérlő) azonosítója Megjegyzés
Biztonsági okokból azt javasoljuk, hogy a GitHub Titkos kulcsokat használja ahelyett, hogy közvetlenül a munkafolyamatnak ad át értékeket.
Az SQL kapcsolati sztring titkos kódjának hozzáadása
A GitHubon nyissa meg az adattárat.
Nyissa meg a Beállítások lehetőséget 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 a Új tárhely-titoklehetőséget.
Illessze be az SQL kapcsolati sztringet. Adja meg a titkos nevet
AZURE_SQL_CONNECTION_STRING.Válassza a Titkos kód hozzáadásalehetőséget.
Saját munkafolyamat hozzáadása
Nyissa meg a GitHub-adattár műveletek elemét.
Válassza a Munkafolyamat önálló 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_CREDENTIALSAzure-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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
Az Azure SQL Deploy művelet használatával csatlakozzon az SQL-példányhoz. Az adattár gyökérszintjén dacpac-csomagot (
Database.dacpac) kell használnia. Használja a korábban létrehozottAZURE_SQL_CONNECTION_STRINGGitHub-titkos kódot.- uses: azure/sql-action@v2.3 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/workflowsadattá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@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - uses: azure/sql-action@v2.3 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 tisztí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.