Поделиться через


AzureVmssDeployment@0 — задача развертывания масштабируемого набора виртуальных машин Azure версии 0

Эта задача развертывает образ масштабируемого набора виртуальных машин.

Синтаксис

# Azure VM scale set deployment v0
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
# Azure VM scale set Deployment v0
# Deploy Virtual Machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.

Входные данные

azureSubscription - Подписка Azure
Входной псевдоним: ConnectedServiceName. string. Обязательный.

Указывает подписку azure Resource Manager для масштабируемого набора.


action - Действий
string. Обязательный. Допустимые значения: Update image (Обновление масштабируемого набора виртуальных машин с помощью образа) Configure application startup (запуск расширения виртуальной машины пользовательского скрипта в масштабируемом наборе виртуальных машин). Значение по умолчанию: Update image.

Обновления масштабируемый набор виртуальных машин выбранным методом с помощью образа виртуального жесткого диска и (или) путем запуска скриптов развертывания или установки с помощью расширения виртуальной машины пользовательского скрипта.

Подход к образам VHD лучше подходит для быстрого масштабирования и отката. Когда масштабируемый набор виртуальных машин создается с помощью пользовательского образа, его можно обновить с помощью образа VHD. Обновление завершится ошибкой, если масштабируемый набор виртуальных машин был создан с помощью образа платформы или коллекции, доступного в Azure.

Подход с расширением виртуальной машины с пользовательским скриптом полезен для настройки после развертывания, установки программного обеспечения или любой другой задачи настройки или управления. Для масштабируемого набора виртуальных машин, созданного с помощью пользовательского образа или образа платформы или коллекции, можно использовать расширение виртуальной машины с пользовательским скриптом.


vmssName - Имя масштабируемого набора виртуальных машин
string. Обязательный.

Указывает имя обновляемого параметра масштабирования виртуальной машины. Используйте образ виртуального жесткого диска или расширение виртуальной машины пользовательского скрипта.


vmssOsType - Тип ОС
string. Обязательный. Допустимые значения: Windows, Linux.

Указывает тип операционной системы масштабируемого набора виртуальных машин.


imageUrl - URL-адрес изображения
string. Требуется при .action = Update image || action = UpdateImage

Указывает URL-адрес образа VHD. Если это URL-адрес большого двоичного объекта службы хранилища Azure, расположение учетной записи хранения совпадает с расположением масштабируемого набора.


customScriptsDirectory - Каталог пользовательских скриптов
string. Необязательный элемент. Используйте при action = Configure application startup || action = Update image || action = UpdateImage.

Необязательный элемент. Путь к каталогу, в котором содержатся пользовательские скрипты, которые выполняются с помощью расширения виртуальной машины пользовательского скрипта. Подход к расширению полезен для настройки после развертывания, установки приложений или программного обеспечения или любой другой задачи настройки или управления приложениями. Например, скрипт может задать переменную среды на уровне компьютера, которую использует приложение, например строки подключения к базе данных.


customScript - Команды
string. Необязательный элемент. Используйте при action = Configure application startup || action = Update image || action = UpdateImage.

Необязательный элемент. Скрипт, который выполняется с помощью расширения виртуальной машины Пользовательского скрипта. Этот скрипт может вызывать другие скрипты в каталоге и вызывается с аргументами, переданными ниже.
В сочетании с такими аргументами этот скрипт можно использовать для выполнения команд.

Пример:

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)обновляет строка подключения в web.config веб-приложении.
  2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey создает зашифрованный файл, содержащий ключ субъекта-службы.

customScriptArguments - Аргументы
string. Необязательный элемент. Используйте при action = Configure application startup || action = Update image || action = UpdateImage.

Необязательный элемент. Пользовательский скрипт будет вызываться с переданными аргументами. Можно использовать переменные сборки и выпуска, что упрощает использование секретов.


customScriptsStorageAccount - Учетная запись хранения Azure, в которой будут отправляться пользовательские скрипты
string. Необязательный элемент. Используйте при action = Configure application startup || action = Update image || action = UpdateImage.

Необязательный элемент. Расширение пользовательских скриптов скачивает и выполняет предоставленные скрипты на каждой виртуальной машине в масштабируемом наборе виртуальных машин. Эти скрипты будут храниться в уже существующей учетной записи хранения ARM, указанной здесь.


skipArchivingCustomScripts - Пропуск архивации пользовательских скриптов
boolean. Значение по умолчанию: false.

Необязательный элемент. По умолчанию эта задача создает сжатый архив каталога, содержащего пользовательские скрипты. Это повышает производительность и надежность при отправке в службу хранилища Azure. Если этот параметр не выбран, архивация не будет выполнена, и все файлы будут отправляться по отдельности.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для развертывания образа масштабируемого набора виртуальных машин.

Выполнение скрипта сообщается об успешном выполнении, однако экземпляры VMSS не обновляются.

У масштабируемых наборов есть политика обновления, которая определяет, как виртуальные машины обновляются с помощью последней модели масштабируемого набора. Если для политики обновления задано значение вручную, необходимо вручную обновлять каждую виртуальную машину. Дополнительные сведения см. в статье Как обеспечить актуальность виртуальных машин с использованием последней модели масштабируемого набора. Вы можете изменить политику обновления или вручную обновить каждую виртуальную машину. Например, чтобы обновить политику до Automatic, используйте следующую команду Az CLI: az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

Ошибка: "Отказано в разрешении: скрипт не исполняемый"

Эта проблема возникает при попытке запустить пользовательский скрипт, но скрипт не является исполняемым.

Чтобы устранить эту проблему, сначала убедитесь, что customScript входные данные не имеют ./ или ничего еще перед именем 'test.sh'скрипта :

    customScript: 'test.sh'

Затем попробуйте добавить задачу командной строки перед задачей масштабируемого набора виртуальных машин:

    - task: CmdLine@2
      inputs:
        script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh' 

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования None
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.0.0 или более поздней версии
Категория задач Развертывание