PackerBuild@1 — zadanie kompilowanie obrazu maszyny w wersji 1
To zadanie służy do kompilowania obrazu maszyny przy użyciu narzędzia Packer, który może być używany do wdrożenia zestawu skalowania maszyn wirtualnych platformy Azure.
Uwaga
To zadanie nie obsługuje uwierzytelniania usługi Azure Resource Manager za pomocą federacji tożsamości przepływu pracy.
Składnia
# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
inputs:
templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
#customTemplateLocation: # string. Required when templateType = custom. Packer template location.
#customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
# Azure Details
ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription.
#isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
#managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name.
location: # string. Required when templateType = builtin. Storage location.
storageAccountName: # string. Required when templateType = builtin. Storage account.
azureResourceGroup: # string. Required when templateType = builtin. Resource group.
# Deployment Inputs
baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
#baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'Canonical:UbuntuServer:18.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
#customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL.
#customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
packagePath: # string. Required when templateType = builtin. Deployment Package.
deployScriptPath: # string. Required when templateType = builtin. Deployment script.
#deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments.
# Advanced
#additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
#skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
#packerVersion: # string. Optional. Use when templateType = custom. Packer Version.
# Output
#imageUri: # string. Image URL or Name.
#imageId: # string. Azure Resource Id.
# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
inputs:
templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
#customTemplateLocation: # string. Required when templateType = custom. Packer template location.
#customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
# Azure Details
ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription.
#isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
#managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name.
location: # string. Required when templateType = builtin. Storage location.
storageAccountName: # string. Required when templateType = builtin. Storage account.
azureResourceGroup: # string. Required when templateType = builtin. Resource group.
# Deployment Inputs
baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
#baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
#customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL.
#customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
packagePath: # string. Required when templateType = builtin. Deployment Package.
deployScriptPath: # string. Required when templateType = builtin. Deployment script.
#deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments.
# Advanced
#additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
#skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
# Output
#imageUri: # string. Image URL or Name.
#imageId: # string. Azure Resource Id.
Dane wejściowe
templateType
- Szablon packer
string
. Wymagane. Dozwolone wartości: builtin
(generowane automatycznie), custom
(podane przez użytkownika). Wartość domyślna: builtin
.
Określa, czy zadanie automatycznie generuje szablon Packer, czy używa szablonu niestandardowego dostarczonego przez Użytkownika.
customTemplateLocation
- Lokalizacja szablonu programu Packer
string
. Wymagane, gdy templateType = custom
.
Określa ścieżkę do niestandardowego szablonu dostarczonego przez użytkownika.
customTemplateParameters
- Parametry szablonu
string
. Opcjonalny. Użyj polecenia , gdy templateType = custom
. Wartość domyślna: {}
.
Określa parametry, które zostaną przekazane do narzędzia Packer do utworzenia szablonu niestandardowego. Powinno to zostać zamapowe na sekcję w szablonie niestandardowym variables
. Jeśli na przykład szablon ma zmienną o nazwie drop-location
, dodaj parametr tutaj z nazwą drop-location
i wartością, której chcesz użyć. Możesz również połączyć wartość ze zmienną wydania. Aby wyświetlić/edytować dodatkowe parametry w siatce, kliknij …
obok pola tekstowego.
ConnectedServiceName
- Subskrypcja platformy Azure
string
. Wymagane, gdy templateType = builtin
.
Określa subskrypcję usługi Azure Resource Manager do pieczenia i przechowywania obrazu maszyny.
isManagedImage
- Obraz dysku zarządzanej maszyny wirtualnej
boolean
. Opcjonalny. Użyj polecenia , gdy templateType = builtin
. Wartość domyślna: true
.
Sprawdza, czy wygenerowany obraz powinien być obrazem zarządzanym.
managedImageName
- Nazwa obrazu dysku zarządzanego maszyny wirtualnej
string
. Wymagane, gdy isManagedImage = true && templateType = builtin
.
Określa nazwę obrazu dysku zarządzanego dla szablonów generowanych automatycznie.
location
- Lokalizacja magazynu
string
. Wymagane, gdy templateType = builtin
.
Określa lokalizację przechowywania utworzonego obrazu maszyny. Ta lokalizacja zostanie również użyta do utworzenia tymczasowej maszyny wirtualnej na potrzeby tworzenia obrazu.
storageAccountName
- Konto magazynu
string
. Wymagane, gdy templateType = builtin
.
Określa konto magazynu do przechowywania obrazu utworzonej maszyny. To konto magazynu musi być wstępnie istniejące w wybranej lokalizacji.
azureResourceGroup
- Grupa zasobów
string
. Wymagane, gdy templateType = builtin
.
Określa grupę zasobów platformy Azure zawierającą wybrane konto magazynu.
baseImageSource
- Źródło obrazu podstawowego
string
. Wymagane, gdy templateType = builtin
. Dozwolone wartości: default
(Galeria), customVhd
(Niestandardowy). Wartość domyślna: default
.
Określa źródło obrazu podstawowego. Możesz wybrać jedną z wyselekcjonowanych galerii obrazów systemu operacyjnego lub podać adres URL niestandardowego obrazu wirtualnego dysku twardego.
Uwaga
Jeśli wybrano opcję tworzenia obrazu zarządzanego, zaznaczając Managed VM disk image
tę opcję, należy wybrać Gallery
tylko tę opcję w tym miejscu. Custom
źródło nie jest obsługiwane w celu utworzenia obrazu zarządzanego.
baseImage
- Obraz podstawowy
string
. Wymagane, gdy baseImageSource = default && templateType = builtin
. Dozwolone wartości: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
(Windows 2012-R2-Datacenter), MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter), (Windows 2012-Datacenter), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows
(Windows 2008-R2-SP1), Canonical:UbuntuServer:14.04.4-LTS:linux
(Ubuntu 14.04.4-LTS), (Ubuntu 16.04-LTS), Canonical:UbuntuServer:16.04-LTS:linux
(Ubuntu 18.04.04-LTS) Canonical:UbuntuServer:18.04-LTS:linux
04-LTS), RedHat:RHEL:7.2:linux
(RHEL 7.2), RedHat:RHEL:6.8:linux
(RHEL 6.8), OpenLogic:CentOS:7.2:linux
(CentOS 7.2), (CentOS 6.8), credativ:Debian:8:linux
OpenLogic:CentOS:6.8:linux
(Debian 8), (Debian 7), SUSE:openSUSE-Leap:42.2:linux
credativ:Debian:7:linux
(openSUSE-Leap 42.2), SUSE:SLES:12-SP2:linux
(SLES 12-SP2), SUSE:SLES:11-SP4:linux
(SLES 11-SP4). Wartość domyślna: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Wybiera spośród wyselekcjonowanych list obrazów systemu operacyjnego. Będzie on używany do instalowania wymagań wstępnych i aplikacji przed przechwyceniem obrazu maszyny.
baseImage
- Obraz podstawowy
string
. Wymagane, gdy baseImageSource = default && templateType = builtin
. Dozwolone wartości: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
(Windows 2012-R2-Datacenter), MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter), (Windows 2012-Datacenter), MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows
MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
(Windows 2008-R2-SP1), Canonical:UbuntuServer:14.04.4-LTS:linux
(Ubuntu 14.04.4-LTS), Canonical:UbuntuServer:16.04-LTS:linux
(Ubuntu 16.04-LTS ), RedHat:RHEL:7.2:linux
(RHEL 7.2), RedHat:RHEL:6.8:linux
(RHEL 6.8), OpenLogic:CentOS:7.2:linux
(CentOS 7.2), (CentOS 6.8), OpenLogic:CentOS:6.8:linux
(Debian 8), credativ:Debian:7:linux
credativ:Debian:8:linux
(Debian 7), SUSE:openSUSE-Leap:42.2:linux
(openSUSE-Leap 42.2), SUSE:SLES:12-SP2:linux
(SLES 12-SP2), SUSE:SLES:11-SP4:linux
(SLES 11-SP4). Wartość domyślna: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Wybiera spośród wyselekcjonowanych list obrazów systemu operacyjnego. Będzie on używany do instalowania wymagań wstępnych i aplikacji przed przechwyceniem obrazu maszyny.
customImageUrl
- Podstawowy adres URL obrazu
string
. Wymagane, gdy baseImageSource = customVhd && templateType = builtin
.
Określa adres URL obrazu podstawowego. Będzie on używany do instalowania wymagań wstępnych i aplikacji przed przechwyceniem obrazu maszyny.
customImageOSType
- System operacyjny obrazu podstawowego
string
. Wymagane, gdy baseImageSource = customVhd && templateType = builtin
. Dozwolone wartości: windows
, linux
. Wartość domyślna: windows
.
packagePath
- Pakiet wdrożeniowy
string
. Wymagane, gdy templateType = builtin
.
Określa ścieżkę katalogu pakietu wdrożeniowego względem $(System.DefaultWorkingDirectory)
. Obsługuje wzorzec minimatchu. Przykładowa ścieżka: FrontendWebApp/**/GalleryApp
Uwaga
Ten pakiet zostanie skopiowany do tymczasowej maszyny wirtualnej tworzonej przez program Packer. Jeśli pakiet zawiera dużą liczbę plików i/lub pliki są bardzo duże, przekazywanie może zająć dużo czasu (prawdopodobnie przez kilka godzin). Aby zoptymalizować czas przekazywania, sprawdź, czy rozmiar pakietu może być znacząco zmniejszony. Inną alternatywą jest użycie pośredniego konta usługi Azure Storage. Przekaż pakiet na konto magazynu przed uruchomieniem tego zadania. W tym zadaniu użyj pakietu zawierającego skrypt, który pobierze wymagany pakiet z konta magazynu.
deployScriptPath
- Skrypt wdrażania
string
. Wymagane, gdy templateType = builtin
.
Określa ścieżkę względną do skryptu programu PowerShell (dla systemu Windows) lub skryptu powłoki (dla systemu Linux), który wdraża pakiet. Ten skrypt powinien być zawarty w wybranej powyżej ścieżce pakietu. Obsługuje wzorzec minimatchu. Przykładowa ścieżka: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
- Argumenty skryptu wdrażania
string
. Opcjonalny. Użyj polecenia , gdy templateType = builtin
.
Określa argumenty, które mają zostać przekazane do skryptu wdrażania.
additionalBuilderParameters
- Dodatkowe parametry konstruktora
string
. Opcjonalny. Użyj polecenia , gdy templateType = builtin
. Wartość domyślna: {"vm_size":"Standard_D3_v2"}
.
W trybie automatycznie generowanego szablonu Packer zadanie tworzy szablon Packer za pomocą konstruktora platformy Azure. Ten konstruktor służy do generowania obrazu maszyny. Możesz dodać klucze do konstruktora platformy Azure, aby dostosować wygenerowany szablon narzędzia Packer. Na przykład: ustawieniessh_tty=true
, jeśli używasz obrazu podstawowego systemu CentOS i musisz mieć tty do uruchomienia .sudo
Aby wyświetlić/edytować dodatkowe parametry w siatce, kliknij …
obok pola tekstowego.
skipTempFileCleanupDuringVMDeprovision
- Pomijanie tymczasowego czyszczenia plików podczas anulowania aprowizacji
boolean
. Opcjonalny. Użyj polecenia , gdy templateType = builtin
. Wartość domyślna: true
.
Podczas anulowania aprowizacji maszyny wirtualnej pomija czyszczenie plików tymczasowych przekazanych do maszyny wirtualnej. Dowiedz się więcej o konstruktorach obrazów maszyny wirtualnej platformy Azure w narzędziu Packer.
packerVersion
- Wersja narzędzia Packer
string
. Opcjonalny. Użyj polecenia , gdy templateType = custom
.
Określa wersję programu Packer do zainstalowania. Będzie to działać tylko z szablonami niestandardowymi.
imageUri
- Adres URL lub nazwa obrazu
string
.
Określa nazwę zmiennej wyjściowej, która będzie przechowywać wygenerowany adres URL wirtualnego dysku twardego obrazu maszyny dla obrazu maszyny wirtualnej niezarządzanej lub nazwę obrazu zarządzanej maszyny wirtualnej.
imageId
- Identyfikator zasobu platformy Azure
string
.
Określa nazwę zmiennej wyjściowej, która będzie przechowywać identyfikator zasobu platformy Azure dla nowo utworzonego obrazu. Dotyczy to tylko obrazów zarządzanych.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
To zadanie służy do kompilowania obrazu maszyny przy użyciu narzędzia Packer. Ten obraz może służyć do wdrażania zestawu skalowania maszyn wirtualnych platformy Azure.
Uwaga
Jeśli chcesz włączyć szczegółowe dzienniki, przejdź do pozycji Potoki>Edytuj>zmienne, a następnie dodaj nową zmienną PACKER_LOG i ustaw jej wartość na 1.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.0.0 lub nowsza |
Kategoria zadania | Wdrażanie |