Udostępnij za pośrednictwem


PackerBuild@0 — zadanie kompilacji obrazu maszyny w wersji 0

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.

Składnia

# Build machine image v0
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@0
  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. 
    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: '{}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
  # Output
    #imageUri: # string. Image URL.
# Build Machine Image v0
# Build machine image using Packer. This image can be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@0
  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. 
    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: '{}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
  # Output
    #imageUri: # string. Image URL.

Dane wejściowe

templateType - Szablon pakietu
string. Wymagane. Dozwolone wartości: builtin (generowane automatycznie), custom (podany przez użytkownika). Wartość domyślna: builtin.

Określa, czy zadanie ma automatycznie generować szablon pakietu, czy używać szablonu niestandardowego dostarczonego przez Ciebie.


customTemplateLocation - Lokalizacja szablonu pakietu
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 pakietu Packer na potrzeby tworzenia szablonu niestandardowego. Powinno to być mapowe na sekcję variables w szablonie niestandardowym. Jeśli na przykład szablon ma zmienną o nazwie drop-location, dodaj tutaj parametr 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.


location - Lokalizacja magazynu
string. Wymagane, gdy templateType = builtin.

Określa lokalizację przechowywania utworzonego obrazu maszyny. Ta lokalizacja będzie również używana do tworzenia tymczasowej maszyny wirtualnej na potrzeby tworzenia obrazu.


storageAccountName - Konto magazynu
string. Wymagane, gdy templateType = builtin.

Określa konto magazynu do przechowywania utworzonego obrazu 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 (Niestandardowe). 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 obrazu niestandardowego.


baseImage - Obraz podstawowy
string. Wymagane, gdy baseImageSource = default && templateType = builtin. Dozwolone wartości: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows (Windows 2012-R2-Datacenter), (Windows 2016-Datacenter), MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows (Windows 2012-Datacenter), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windowsMicrosoftWindowsServer:WindowsServer:2008-R2-SP1: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), credativ:Debian:8:linuxOpenLogic:CentOS:6.8:linux (Debian 8 credativ:Debian:7:linux ), (Debian 7), SUSE:openSUSE-Leap:42.2:linux (openSUSE-Leap 42.2), (SLES 12-SP2 SUSE:SLES:11-SP4:linux ), SUSE:SLES:12-SP2:linux (SLES 11-SP4). Wartość domyślna: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Wybiera jedną z wyselekcjonowanych list obrazów systemu operacyjnego. Jest to używane do instalowania wymagań wstępnych i aplikacji przed przechwyceniem obrazu maszyny.


customImageUrl - Adres URL obrazu podstawowego
string. Wymagane, gdy baseImageSource = customVhd && templateType = builtin.

Określa adres URL obrazu podstawowego. Jest to używane 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)elementu . Obsługuje wzorzec minimatchu. Przykładowa ścieżka: FrontendWebApp/**/GalleryApp.


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 ścieżce pakietu wybranej powyżej. 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: {}.

W trybie szablonu pakietu generowanego automatycznie zadanie tworzy szablon pakietu z konstruktorem platformy Azure. Ten konstruktor służy do generowania obrazu maszyny. Klucze można dodać do konstruktora platformy Azure, aby dostosować wygenerowany szablon Packer. Na przykład ustawienie ssh_tty=true w przypadku korzystania z obrazu podstawowego systemu CentOS i musisz mieć tty, aby uruchomić sudo.

Aby wyświetlić lub edytować dodatkowe parametry w siatce, kliknij obok pola tekstowego.


skipTempFileCleanupDuringVMDeprovision - Pomiń tymczasowe czyszczenie 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. Aby uzyskać więcej informacji, zapoznaj się z tematem Azure Virtual Machine Image Builders (Konstruktory obrazów maszyn wirtualnych platformy Azure).


imageUri - Adres URL obrazu
string.

Określa nazwę zmiennej wyjściowej, która przechowuje wygenerowany adres URL obrazu maszyny.


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, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.0.0 lub nowsze
Kategoria zadania Wdrażanie