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.
Ismerkedés a GitHub Actions szolgáltatással egy munkafolyamat használatával, amely adatbázis-frissítéseket helyez üzembe a rugalmas Azure Database for MySQL-kiszolgálón.
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.
Egy GitHub-fiók. Ha nincs GitHub-fiókja, regisztráljon ingyenesen.
Egy GitHub-adattár mintaadatokkal (
data.sql).Fontos
Ez a rövid útmutató feltételezi, hogy klónozott egy GitHub-adattárat a számítógépre, így szükség esetén hozzáadhatja a társított IP-címet egy tűzfalszabályhoz.
Azure Database for MySQL Rugalmas kiszolgálópéldány.
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:
| Section | Tevékenységek |
|---|---|
| Hitelesítés | 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
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 egy federált identitás hitelesítő adatot egy felhasználóhoz rendelt felügyelt identitáson, hogy megbízhasson a GitHub Actions által kibocsátott jogkivonatokban a GitHub-adattárban.
A MySQL-kapcsolati sztring másolása
Az Azure Portalon nyissa meg a rugalmas Azure Database for MySQL-kiszolgálópéldányt, és nyissa meg a Beállítások>kapcsolati 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.
Fontos
- Önálló Azure Database for MySQL-kiszolgáló esetén használja az Uid=adminusername@servername. Vegye figyelembe, hogy a @servername szükséges.
- Rugalmas Azure Database for MySQL-kiszolgáló esetén használja a Uid=adminusername nevet a @servername.
A kapcsolati sztring GitHub-titkos kódként fogja használni.
GitHub-titkos kulcsok 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 a munkafolyamatban is megadhatóak, vagy a GitHub titkos kulcsaiban tárolhatók, és a munkafolyamatban hivatkozhatnak gombra. 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 az Új tárház titkos kódját.
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.
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: CI on: push: branches: [ main ] pull_request: branches: [ main ]Nevezze át a munkafolyamatot
MySQL 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: MySQL 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 MySQL Deploy művelet használatával csatlakozzon a MySQL-példányhoz. Cserélje le
MYSQL_SERVER_NAMEa kiszolgáló nevére. Rendelkeznie kell egy MySQL-adatfájllal, amely az adattár gyökérszintjén van elnevezvedata.sql.- uses: azure/mysql@v1 with: server-name: MYSQL_SERVER_NAME connection-string: ${{ secrets.AZURE_MYSQL_CONNECTION_STRING }} sql-file: './data.sql'Végezze el a munkafolyamatot úgy, hogy hozzáad egy műveletet az Azure-ból való kijelentkezéshez. Itt található a befejezett munkafolyamat. A fájl megjelenik az
.github/workflowsadattár mappájában.name: MySQL 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/mysql@v1 with: server-name: MYSQL_SERVER_NAME connection-string: ${{ secrets.AZURE_MYSQL_CONNECTION_STRING }} sql-file: './data.sql' # 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 a rugalmas Azure Database for MySQL-kiszolgáló adatbázisára és adattárára 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.