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


HelmDeploy@1 . Упаковка и развертывание задач Диаграмм Helm версии 1

Развертывание, настройка, обновление кластера Kubernetes в службе контейнеров Azure путем выполнения команд helm.

Синтаксис

# Package and deploy Helm charts v1
# Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands.
- task: HelmDeploy@1
  inputs:
  # Kubernetes Cluster
    #connectionType: 'Azure Resource Manager' # 'Azure Resource Manager' | 'Kubernetes Service Connection' | 'None'. Required when command != logout && command != package. Connection Type. Default: Azure Resource Manager.
    #azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when connectionType = Azure Resource Manager && command != logout && command != package. Azure subscription. 
    #azureResourceGroup: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Resource group. 
    #kubernetesCluster: # string. Required when connectionType = Azure Resource Manager && command != logout && command != package. Kubernetes cluster. 
    #useClusterAdmin: false # boolean. Optional. Use when connectionType = Azure Resource Manager && command != logout && command != package. Use cluster admin credentials. Default: false.
    #kubernetesServiceConnection: # string. Alias: kubernetesServiceEndpoint. Required when connectionType = Kubernetes Service Connection && command != logout && command != package. Kubernetes Service Connection. 
    #namespace: # string. Optional. Use when command != logout && command != package. Namespace. 
  # Azure Container Registry
    #azureSubscriptionForACR: # string. Alias: azureSubscriptionEndpointForACR. Required when command == login || command == package || command == push. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == login || command == package || command == push. Resource group. 
    #azureContainerRegistry: # string. Required when command == login || command == package || command == push. Azure Container Registry. 
  # Commands
    command: 'ls' # 'create' | 'delete' | 'expose' | 'get' | 'init' | 'install' | 'login' | 'logout' | 'ls' | 'package' | 'rollback' | 'upgrade' | 'uninstall'. Required. Command. Default: ls.
    #chartType: 'Name' # 'Name' | 'FilePath'. Required when command == install || command == upgrade. Chart Type. Default: Name.
    chartName: # string. Required when chartType == Name. Chart Name. 
    #chartPath: # string. Required when chartType == FilePath || command == package. Chart Path. 
    #chartVersion: # string. Alias: version. Optional. Use when command == package || command == install || command == upgrade. Version. 
    #releaseName: # string. Optional. Use when command == install || command == upgrade. Release Name. 
    #overrideValues: # string. Optional. Use when command == install || command == upgrade. Set Values. 
    #valueFile: # string. Optional. Use when command == install || command == upgrade. Value File. 
    #destination: '$(Build.ArtifactStagingDirectory)' # string. Optional. Use when command == package. Destination. Default: $(Build.ArtifactStagingDirectory).
    #canaryimage: false # boolean. Optional. Use when command == init. Use canary image version. Default: false.
    #upgradetiller: true # boolean. Optional. Use when command == init. Upgrade Tiller. Default: true.
    #updatedependency: false # boolean. Optional. Use when command == install || command == package. Update Dependency. Default: false.
    #save: true # boolean. Optional. Use when command == package. Save. Default: true.
    #install: true # boolean. Optional. Use when command == upgrade. Install if release not present. Default: true.
    #recreate: false # boolean. Optional. Use when command == upgrade. Recreate Pods. Default: false.
    #resetValues: false # boolean. Optional. Use when command == upgrade. Reset Values. Default: false.
    #force: false # boolean. Optional. Use when command == upgrade. Force. Default: false.
    #waitForExecution: true # boolean. Optional. Use when command == init || command == install || command == upgrade. Wait. Default: true.
    #arguments: # string. Optional. Use when command != login && command != logout. Arguments. 
    #chartNameForACR: # string. Required when command == package || command == push. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == package || command == push. Chart Path for Azure Container Registry. 
  # TLS
    #enableTls: false # boolean. Optional. Use when command != login && command != logout && command != package. Enable TLS. Default: false.
    #caCert: # string. Required when enableTls == true && command != login && command != logout && command != package. CA certificate. 
    #certificate: # string. Required when enableTls == true && command != login && command != logout && command != package. Certificate. 
    #privatekey: # string. Required when enableTls == true && command != login && command != logout && command != package. Key. 
  # Advanced
    #tillernamespace: # string. Optional. Use when command != login && command != logout && command != package. Tiller namespace. 
    #failOnStderr: false # boolean. Optional. Use when command != login && command != logout && command != package. Fail on Standard Error. Default: false.
    #publishPipelineMetadata: true # boolean. Optional. Use when command != login && command != logout && command != package. Publish pipeline metadata. Default: true.

Входы

connectionType - тип подключения
string. Требуется, если command != logout && command != package. Допустимые значения: Azure Resource Manager, Kubernetes Service Connection, None. Значение по умолчанию: Azure Resource Manager.

Выберите Azure Resource Manager, чтобы подключиться к службе Azure Kubernetes с помощью подключения к службе Azure. Выберите "Подключение к службе Kubernetes", чтобы подключиться к любому кластеру Kubernetes с помощью kubeconfig или учетной записи службы.


azureSubscription - подписке Azure
Псевдоним ввода: azureSubscriptionEndpoint. string. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package.

Выберите подписку Azure, которая содержит реестр контейнеров Azure.


группы ресурсов
string. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package.

Выберите группу ресурсов Azure.


kubernetesCluster - кластере Kubernetes
string. Требуется, если connectionType = Azure Resource Manager && command != logout && command != package.

Выберите управляемый кластер Azure.


useClusterAdmin - Использование учетных данных администратора кластера
boolean. Необязательный. Используется при connectionType = Azure Resource Manager && command != logout && command != package. Значение по умолчанию: false.

Используйте учетные данные администратора кластера вместо учетных данных пользователя кластера по умолчанию.


подключения службы Kubernetes
Псевдоним ввода: kubernetesServiceEndpoint. string. Требуется, если connectionType = Kubernetes Service Connection && command != logout && command != package.

Выберите подключение службы Kubernetes.


namespace - пространства имен
string. Необязательный. Используется при command != logout && command != package.

Укажите пространство имен K8 для использования. Использование пространства имен Tiller можно указать в расширенном разделе задачи или передать параметр --tiller-namespace в качестве аргумента.


azureSubscriptionForACR - подписку Azure для реестра контейнеров
Псевдоним ввода: azureSubscriptionEndpointForACR. string. Требуется, если command == login || command == package || command == push.

Выберите подписку Azure, которая содержит реестр контейнеров Azure.


группы ресурсов
string. Требуется, если command == login || command == package || command == push.

Выберите группу ресурсов Azure, которая содержит реестр контейнеров.


реестра контейнеров Azure
string. Требуется, если command == login || command == package || command == push.

Выберите реестр контейнеров Azure, который будет использоваться для диаграмм helm.


Команда command -
string. Обязательно. Допустимые значения: create, delete, expose, get, init, install, login, logout, ls, package, rollback, upgrade, uninstall. Значение по умолчанию: ls.

Выберите команду helm.


типа диаграммы
string. Требуется, если command == install || command == upgrade. Допустимые значения: Name, FilePath (путь к файлу). Значение по умолчанию: Name.

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


имени диаграммы
string. Требуется, если chartType == Name.

Ссылка на диаграмму для установки может быть URL-адресом или именем диаграммы. Например, если имя диаграммы равно "стабильный/mysql", задача будет выполняться "helm install stable/mysql".


Путь chartPath - диаграммы
string. Требуется, если chartType == FilePath || command == package.

Путь к диаграмме для установки. Это может быть путь к упакованой диаграмме или путь к распаковке каталога диаграммы. Например, если указан параметр "./redis", задача будет запускаться "helm install ./redis".


chartVersion - версии
Псевдоним ввода: version. string. Необязательный. Используется при command == package || command == install || command == upgrade.

Укажите точную версию диаграммы для установки. Если это не указано, установлена последняя версия. Установите версию диаграммы на эту версию semver.


имени выпуска
string. Необязательный. Используется при command == install || command == upgrade.

Имя выпуска. Если оно не указано, оно будет автоматически генерировать его для вас.


overrideValues - задать значения
string. Необязательный. Используется при command == install || command == upgrade.

Задайте значения в командной строке (можно указать несколько или отдельные значения с запятыми или новыми строками: key1=val1,key2=val2 или
key1=val1
key2=val2
). Задача создаст команду helm с помощью этих наборов значений. Например, helm install --set key1=val1 ./redis.


valueFile - файла значений
string. Необязательный. Используется при command == install || command == upgrade.

Укажите значения в ФАЙЛЕ YAML или URL-адресе. Например, указание myvalues.yaml приведет к "helm install --values=myvals.yaml".


назначения
string. Необязательный. Используется при command == package. Значение по умолчанию: $(Build.ArtifactStagingDirectory).

Укажите значения в ФАЙЛЕ YAML или URL-адресе.


canaryimage - Использовать версию канаречного образа.
boolean. Необязательный. Используется при command == init. Значение по умолчанию: false.

Используйте образ Canary Tiller, последнюю предварительную версию Тиллера.


upgradetiller - Обновление Тиллера
boolean. Необязательный. Используется при command == init. Значение по умолчанию: true.

Обновите, если Тиллер уже установлен.


updatedependency - обновление зависимостей
boolean. Необязательный. Используется при command == install || command == package. Значение по умолчанию: false.

Перед установкой диаграммы запустите обновление зависимостей helm. Обновите зависимости от "requirements.yaml" до dir "chart/" перед упаковкой.


save - Сохранить
boolean. Необязательный. Используется при command == package. Значение по умолчанию: true.

Сохраните упаковаемую диаграмму в локальный репозиторий диаграмм (по умолчанию true).


install - Установить, если выпуск отсутствует.
boolean. Необязательный. Используется при command == upgrade. Значение по умолчанию: true.

Если выпуск по этому имени еще не существует, запустите установку.


recreate - повторно создавать модули pod.
boolean. Необязательный. Используется при command == upgrade. Значение по умолчанию: false.

При необходимости выполняет перезапуск модулей pod для ресурса.


resetValues - сброс значений.
boolean. Необязательный. Используется при command == upgrade. Значение по умолчанию: false.

Сбросить значения на те, которые встроены в диаграмму.


force - force
boolean. Необязательный. Используется при command == upgrade. Значение по умолчанию: false.

При необходимости принудительное обновление ресурсов путем удаления или повторного создания.


waitForExecution - ожидание
boolean. Необязательный. Используется при command == init || command == install || command == upgrade. Значение по умолчанию: true.

Блокировать до завершения выполнения команды.


arguments - аргументы
string. Необязательный. Используется при command != login && command != logout.

Параметры команды Helm.


enableTls - включить TLS
boolean. Необязательный. Используется при command != login && command != logout && command != package. Значение по умолчанию: false.

Включает использование SSL между Helm и Тиллером.


сертификата ЦС
string. Требуется, если enableTls == true && command != login && command != logout && command != package.

Сертификат ЦС, используемый для выдачи сертификата для тиллера и клиента helm.


certificate - сертификатов
string. Требуется, если enableTls == true && command != login && command != logout && command != package.

Укажите сертификат Тиллера или сертификат клиента Helm.


privatekey - ключ
string. Требуется, если enableTls == true && command != login && command != logout && command != package.

Укажите ключ тиллера или клиентского ключа Helm.


tillernamespace - пространство имен Тиллера
string. Необязательный. Используется при command != login && command != logout && command != package.

Укажите пространство имен K8 тиллера.


failOnStderr - сбой стандартной ошибки
boolean. Необязательный. Используется при command != login && command != logout && command != package. Значение по умолчанию: false.

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


publishPipelineMetadata - публикации метаданных конвейера
boolean. Необязательный. Используется при command != login && command != logout && command != package. Значение по умолчанию: true.

Если это верно, задача собирает и публикует метаданные развертывания.


имя диаграммы chartNameForACR - для реестра контейнеров Azure
string. Требуется, если command == package || command == push.

Имя диаграммы, с которой диаграмма будет храниться в реестре контейнеров Azure.


Путь к диаграмме chartPathForACR - для реестра контейнеров Azure
string. Требуется, если command == package || command == push.

Путь к каталогу диаграммы.


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

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

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

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

helmExitCode
код выхода из выполнения указанной команды Helm

helmOutput
Выходные данные, полученные из выполнения указанной команды Helm

Замечания

Основное изменение задачи HelmDeploy@1 заключается в том, что команды диаграммы helm удаляются:

  • helm chart субкоманда удалена
  • helm chart push удален
  • helm chart remove удален
  • helm chart save заменены helm package
  • helm save удален

Требования

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