Szybki start: integracja rozwiązania Bicep z usługą Azure Pipelines
W tym przewodniku Szybki start pokazano, jak zintegrować pliki Bicep z usługą Azure Pipelines w celu ciągłej integracji i ciągłego wdrażania (CI/CD).
Zawiera krótkie wprowadzenie do zadania potoku potrzebnego do wdrożenia pliku Bicep. Jeśli chcesz uzyskać bardziej szczegółowe instrukcje dotyczące konfigurowania potoku i projektu, zobacz Wdrażanie zasobów platformy Azure przy użyciu platformy Bicep i usługi Azure Pipelines.
Wymagania wstępne
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Potrzebna jest organizacja usługi Azure DevOps. Jeśli go nie masz, utwórz go bezpłatnie. Jeśli Twój zespół ma już organizację usługi Azure DevOps, upewnij się, że jesteś administratorem projektu usługi Azure DevOps, którego chcesz użyć.
Musisz skonfigurować połączenie usługi z subskrypcją platformy Azure. Zadania w potoku są wykonywane w ramach tożsamości jednostki usługi. Aby uzyskać instrukcje tworzenia połączenia, zobacz Tworzenie projektu DevOps.
Potrzebny jest plik Bicep, który definiuje infrastrukturę projektu. Ten plik znajduje się w repozytorium.
Potrzebny jest plik bicepparam, który definiuje parametry używane przez plik bicep. Ten plik znajduje się w repozytorium.
Tworzenie potoku
W organizacji usługi Azure DevOps wybierz pozycję Potoki i Utwórz potok.
Określ miejsce przechowywania kodu. W tym przewodniku Szybki start użyto usługi Azure Repos Git.
Wybierz repozytorium zawierające kod projektu.
Wybierz pozycję Potok początkowy dla typu potoku do utworzenia.
Wdrażanie plików Bicep
Aby wdrożyć plik Bicep, możesz użyć zadania rozmieszczania grupy zasobów platformy Azure lub zadania interfejsu wiersza polecenia platformy Azure.
Korzystanie z zadania wdrażania szablonu usługi Azure Resource Manager
Uwaga
Od wersji 3.235.0 zadania wdrażania szablonu usługi Azure Resource Manager jest obsługiwane użycie plików bicepparam .
Uwaga
Zadanie AzureResourceManagerTemplateDeployment@3
wymaga podania plików Bicep i bicepparam podczas korzystania z parametru bicepparam. Plik Bicep może odwoływać się do wszystkich obsługiwanych lokalizacji dla odwołań do modułów. Plik bicepparam musi odwoływać się do lokalnego pliku Bicep w instrukcji using
.
Zastąp potok początkowy następującym kodem YAML. Tworzy grupę zasobów i wdraża plik Bicep i bicepparam przy użyciu zadania wdrażania szablonu usługi Azure Resource Manager.
trigger: - main name: Deploy Bicep files parameters: - name: azureServiceConnection type: string default: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' templateFile: './main.bicep' csmParametersFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureResourceManagerTemplateDeployment@3 inputs: deploymentScope: 'Resource Group' azureSubscription: '${{ parameters.azureServiceConnection }}' action: 'Create Or Update Resource Group' resourceGroupName: '$(resourceGroupName)' location: '$(location)' templateLocation: 'Linked artifact' csmFile: '$(templateFile)' csmParametersFile: '$(csmParametersFile)' overrideParameters: '-storageAccountType Standard_LRS' deploymentMode: 'Incremental' deploymentName: 'DeployPipelineTemplate'
Zaktualizuj wartości i
azureServiceConnection
location
.Sprawdź, czy masz prawidłowy
main.bicep
plik w repozytorium.Sprawdź, czy w repozytorium znajduje się prawidłowy
main.bicepparam
plik zawierający instrukcję using .Wybierz pozycję Zapisz. Potok kompilacji jest uruchamiany automatycznie. Wróć do podsumowania potoku kompilacji i obejrzyj stan.
Korzystanie z zadania interfejsu wiersza polecenia platformy Azure
Uwaga
Polecenie az deployment group create wymaga tylko pliku bicepparam. Instrukcja using
w pliku bicepparam może być skierowana do dowolnej obsługiwanej lokalizacji w celu odwołania się do pliku Bicep. Plik Bicep jest wymagany tylko w repozytorium, gdy using
ze ścieżki dysku lokalnego za pomocą interfejsu wiersza polecenia platformy Azure.
Uwaga
Jeśli używasz pliku bicepparam z poleceniem az deployment group create, nie można zastąpić parametrów.
Zastąp potok początkowy następującym kodem YAML. Tworzy grupę zasobów i wdraża plik bicepparam przy użyciu zadania interfejsu wiersza polecenia platformy Azure:
trigger: - main name: Deploy Bicep files parameters: azureServiceConnection: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' bicepParamFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureCLI@2 inputs: azureSubscription: '${{ parameters.azureServiceConnection }}' scriptType: bash scriptLocation: inlineScript useGlobalConfig: false inlineScript: | az --version az group create --name $(resourceGroupName) --location $(location) az deployment group create ` --resource-group $(resourceGroupName) ` --parameters $(bicepParamFile) ` --name DeployPipelineTemplate
Opisy danych wejściowych zadań można znaleźć w temacie Zadanie interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z zadania w chmurze rozszytej w powietrzu należy ustawić
useGlobalConfig
właściwość zadania natrue
. Domyślna wartość tofalse
.Zaktualizuj wartości i
azureServiceConnection
location
.Sprawdź, czy w repozytorium znajduje się prawidłowy
main.bicepparam
plik zawierający instrukcję using .Wybierz pozycję Zapisz. Potok kompilacji jest uruchamiany automatycznie. Wróć do podsumowania potoku kompilacji i obejrzyj stan.
Czyszczenie zasobów
Gdy zasoby platformy Azure nie są już potrzebne, użyj interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, aby usunąć grupę zasobów szybkiego startu.
az group delete --name exampleRG