다음을 통해 공유


HelmDeploy@1 - Helm 차트 v1 작업 패키지 및 배포

Helm 명령을 실행하여 Azure Container Service에서 Kubernetes 클러스터를 배포, 구성, 업데이트합니다.

통사론

# 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. Azure subscription for Container Registry. 
    #azureResourceGroupForACR: # string. Required when command == login || command == package. Resource group. 
    #azureContainerRegistry: # string. Required when command == login || command == package. 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. Chart Name For Azure Container Registry. 
    #chartPathForACR: # string. Required when command == package. 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 서비스 연결을 사용하여 Azure Kubernetes Service에 연결합니다. 'Kubernetes 서비스 연결'을 선택하여 kubeconfig 또는 서비스 계정을 사용하여 Kubernetes 클러스터에 연결합니다.


Azure 구독
입력 별칭: azureSubscriptionEndpoint. string. connectionType = Azure Resource Manager && command != logout && command != package때 필요합니다.

Azure Container Registry가 있는 Azure 구독을 선택합니다.


azureResourceGroup - 리소스 그룹
string. connectionType = Azure Resource Manager && command != logout && command != package때 필요합니다.

Azure 리소스 그룹을 선택합니다.


Kubernetes 클러스터
string. connectionType = Azure Resource Manager && command != logout && command != package때 필요합니다.

Azure Managed Cluster를 선택합니다.


useClusterAdmin - 클러스터 관리자 자격 증명 사용
boolean. 선택적. connectionType = Azure Resource Manager && command != logout && command != package때 사용합니다. 기본값: false.

기본 클러스터 사용자 자격 증명 대신 클러스터 관리자 자격 증명을 사용합니다.


Kubernetes Service 연결
입력 별칭: kubernetesServiceEndpoint. string. connectionType = Kubernetes Service Connection && command != logout && command != package때 필요합니다.

Kubernetes 서비스 연결을 선택합니다.


namespace - 네임스페이스
string. 선택적. command != logout && command != package때 사용합니다.

사용할 K8 네임스페이스를 지정합니다. 작업의 고급 섹션에서 또는 --tiller-namespace 옵션을 인수로 전달하여 Tiller 네임스페이스를 사용할 수 있습니다.


Container Registry 대한 Azure 구독
입력 별칭: azureSubscriptionEndpointForACR. string. command == login || command == package때 필요합니다.

Azure Container Registry가 있는 Azure 구독을 선택합니다.


azureResourceGroupForACR - 리소스 그룹
string. command == login || command == package때 필요합니다.

Container Registry가 있는 Azure 리소스 그룹을 선택합니다.


Azure Container Registry
string. command == login || command == package때 필요합니다.

Helm 차트에 사용할 Azure Container Registry를 선택합니다.


command - 명령
string. 필수. 허용되는 값: create, delete, expose, get, init, install, login, logout, ls, package, rollback, upgrade, uninstall. 기본값: ls.

helm 명령을 선택합니다.


chartType - 차트 종류
string. command == install || command == upgrade때 필요합니다. 허용되는 값: Name, FilePath(파일 경로). 기본값: Name.

차트 정보를 입력하는 방법을 선택합니다. 차트의 이름이나 차트의 폴더/파일 경로를 제공할 수 있습니다.


chartName - 차트 이름
string. chartType == Name때 필요합니다.

설치할 차트 참조입니다. URL 또는 차트 이름일 수 있습니다. 예를 들어 차트 이름이 'stable/mysql'인 경우 작업은 'helm install stable/mysql'을 실행합니다.


chartPath - 차트 경로
string. chartType == FilePath || command == package때 필요합니다.

설치할 차트의 경로입니다. 패키지된 차트의 경로 또는 패키지되지 않은 차트 디렉터리의 경로일 수 있습니다. 예를 들어 './redis'를 지정하면 작업이 'helm install ./redis'를 실행합니다.


chartVersion - 버전
입력 별칭: version. string. 선택적. command == package || command == install || command == upgrade때 사용합니다.

설치할 정확한 차트 버전을 지정합니다. 지정하지 않으면 최신 버전이 설치됩니다. 차트의 버전을 이 셈버 버전으로 설정합니다.


releaseName - 릴리스 이름
string. 선택적. command == install || command == upgrade때 사용합니다.

릴리스 이름입니다. 지정되지 않은 경우 자동으로 생성됩니다.


overrideValues - 설정
string. 선택적. command == install || command == upgrade때 사용합니다.

명령줄에서 값 설정(쉼표 또는 줄 바꿈을 사용하여 여러 값 또는 별도의 값을 지정할 수 있습니다. key1=val1,key2=val2 또는
key1=val1
key2=val2
). 태스크는 이러한 집합 값을 사용하여 helm 명령을 생성합니다. 예를 들어 helm 설치 --set key1=val1 ./redis입니다.


valueFile - 값 파일
string. 선택적. command == install || command == upgrade때 사용합니다.

YAML 파일 또는 URL에 값을 지정합니다. 예를 들어 myvalues.yaml을 지정하면 'helm install --values=myvals.yaml'이 발생합니다.


destination - 대상
string. 선택적. command == package때 사용합니다. 기본값: $(Build.ArtifactStagingDirectory).

YAML 파일 또는 URL에 값을 지정합니다.


canaryimage - 카나리아 이미지 버전을 사용합니다.
boolean. 선택적. command == init때 사용합니다. 기본값: false.

최신 시험판 버전의 Tiller 카나리아 틸러 이미지를 사용합니다.


upgradetiller - 업그레이드 Tiller
boolean. 선택적. command == init때 사용합니다. 기본값: true.

Tiller가 이미 설치된 경우 업그레이드합니다.


updatedependency - 종속성 업데이트
boolean. 선택적. command == install || command == package때 사용합니다. 기본값: false.

차트를 설치하기 전에 helm 종속성 업데이트를 실행합니다. 패키징하기 전에 종속성을 'requirements.yaml'에서 dir 'charts/'로 업데이트합니다.


save - 저장
boolean. 선택적. command == package때 사용합니다. 기본값: true.

패키지된 차트를 로컬 차트 리포지토리에 저장합니다(기본값 true).


install - 릴리스가 없는 경우 설치합니다.
boolean. 선택적. command == upgrade때 사용합니다. 기본값: true.

이 이름의 릴리스가 아직 없는 경우 설치를 실행합니다.


recreate - Pod를 다시 만듭니다.
boolean. 선택적. command == upgrade때 사용합니다. 기본값: false.

해당하는 경우 리소스에 대한 Pod 다시 시작을 수행합니다.


resetValues - 값을 다시 설정합니다.
boolean. 선택적. command == upgrade때 사용합니다. 기본값: false.

차트에 기본 제공되는 값으로 값을 다시 설정합니다.


force - 강제
boolean. 선택적. command == upgrade때 사용합니다. 기본값: false.

필요한 경우 삭제/다시 만들기를 통해 리소스 업데이트를 강제 적용합니다.


waitForExecution - 대기
boolean. 선택적. command == init || command == install || command == upgrade때 사용합니다. 기본값: true.

명령 실행이 완료될 때까지 차단합니다.


arguments - 인수
string. 선택적. command != login && command != logout때 사용합니다.

Helm 명령 옵션입니다.


TLS 사용하도록
boolean. 선택적. command != login && command != logout && command != package때 사용합니다. 기본값: false.

Helm과 Tiller 간에 SSL을 사용할 수 있습니다.


caCert - CA 인증서
string. enableTls == true && command != login && command != logout && command != package때 필요합니다.

tiller 및 helm 클라이언트에 대한 인증서를 발급하는 데 사용되는 CA 인증서입니다.


certificate - 인증서
string. enableTls == true && command != login && command != logout && command != package때 필요합니다.

Tiller 인증서 또는 Helm 클라이언트 인증서를 지정합니다.


privatekey -
string. enableTls == true && command != login && command != logout && command != package때 필요합니다.

Tiller 키 또는 Helm 클라이언트 키를 지정합니다.


tillernamespace - Tiller 네임스페이스
string. 선택적. command != login && command != logout && command != package때 사용합니다.

tiller의 K8 네임스페이스를 지정합니다.


표준 오류 실패
boolean. 선택적. command != login && command != logout && command != package때 사용합니다. 기본값: false.

이 경우 오류가 오류 파이프라인에 기록되거나 표준 오류 스트림에 데이터가 기록되는 경우 이 작업이 실패합니다. 그렇지 않으면 태스크는 종료 코드를 사용하여 오류를 확인합니다.


파이프라인 메타데이터 게시
boolean. 선택적. command != login && command != logout && command != package때 사용합니다. 기본값: true.

이 경우 태스크는 배포 메타데이터를 수집하고 게시합니다.


Azure Container Registry 대한 차트 이름
string. command == package때 필요합니다.

차트가 Azure Container Registry에 저장될 차트 이름입니다.


Azure Container Registry 대한 차트 경로
string. command == package때 필요합니다.

차트 디렉터리의 경로입니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.

출력 변수

이 작업은 다운스트림 단계, 작업 및 단계에서 사용할 수 있는 다음 출력 변수정의합니다.

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 변수 어떤
에이전트 버전 지원되는 모든 에이전트 버전입니다.
작업 범주 전개시키다