Ćwiczenie — wdrażanie pliku Bicep z przepływów pracy usługi GitHub
Funkcja GitHub Actions jest podobna do usługi Azure Pipelines w naturze. Zapewniają one sposób automatyzowania tworzenia i wdrażania oprogramowania. W tym ćwiczeniu dowiesz się, jak wdrożyć plik Bicep przy użyciu akcji usługi GitHub.
Wymagania wstępne
- Będziesz potrzebować konta usługi GitHub, które możesz utworzyć bezpłatnie tutaj.
- Repozytorium GitHub jest również wymagane do przechowywania pliku Bicep i przepływów pracy utworzonych wcześniej w sekcji Ćwiczenie — tworzenie szablonów Bicep. Po utworzeniu repozytorium GitHub wypchnij do niego plik Bicep.
- Do wdrożenia na platformie Azure wymagany jest dostęp do subskrypcji platformy Azure, którą można utworzyć bezpłatnie tutaj.
Tworzenie jednostki usługi na platformie Azure
Aby wdrożyć zasoby na platformie Azure, musisz utworzyć jednostkę usługi, której może używać usługa GitHub. Otwórz więc terminal lub użyj usługi Cloud Shell w witrynie Azure Portal i wpisz następujące polecenia:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Uwaga
Nie zapomnij zastąpić identyfikatora subskrypcji Twoimi.
Po pomyślnym zakończeniu operacji powinien zostać wyświetlony obiekt JSON zawierający właściwości tenantId
, subscriptionId
, clientId
, clientSecret
i kilka innych, takich jak następujące.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Zanotuj ten obiekt, ponieważ musisz dodać go do wpisów tajnych usługi GitHub.
Tworzenie wpisu tajnego usługi GitHub
W repozytorium GitHub przejdź do pozycji Ustawienia>Akcje wpisów tajnych.> Utwórz nowy wpis tajny o nazwie AZURE_CREDENTIALS
i wklej cały obiekt JSON uzyskany w poprzednim kroku.
Utwórz kolejny wpis tajny dla nazwy grupy zasobów o nazwie takiej jak AZURE_RG
i jeden dla subskrypcji.
Tworzenie akcji usługi GitHub
Najpierw przejdź do repozytorium i wybierz menu Akcje. Następnie skonfiguruj przepływ pracy, aby utworzyć pusty przepływ pracy w repozytorium. Jeśli wolisz, możesz zmienić nazwę pliku na inną.
Zastąp zawartość pliku następującym fragmentem kodu:
on: [push] name: Azure ARM jobs: build-and-deploy: runs-on: ubuntu-latest steps: # Checkout code - uses: actions/checkout@main # Log into Azure - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} # Deploy Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: false
Możesz zastąpić prefiks konta magazynu własnym.
Uwaga
Pierwsza część przepływu pracy definiuje wyzwalacz i jego nazwę. Reszta definiuje zadanie i używa kilku zadań do wyewidencjonowania kodu, logowania się na platformie Azure i wdrażania pliku Bicep.
Wybierz pozycję Rozpocznij zatwierdzenie, a następnie wprowadź tytuł i opis w oknie podręcznym. Następnie wybierz pozycję Zatwierdź bezpośrednio w gałęzi głównej, a następnie pozycję Zatwierdź nowy plik.
Przejdź do karty Akcje i wybierz nowo utworzoną akcję, która powinna być uruchomiona.
Monitoruj stan i po zakończeniu zadania sprawdź witrynę Azure Portal, aby sprawdzić, czy konto magazynu jest tworzone.