ServiceFabricDeploy@1 - Service Fabric 애플리케이션 배포 v1 작업
이 작업을 사용하여 Service Fabric 애플리케이션을 클러스터에 배포합니다. 이 작업은 게시 프로필에 정의된 설정에 따라 클러스터에 Azure Service Fabric 애플리케이션을 배포합니다.
참고
이 작업은 워크플로 ID 페더레이션을 사용한 Azure Resource Manager 인증을 지원하지 않습니다.
Syntax
# Service Fabric application deployment v1
# Deploy an Azure Service Fabric application to a cluster.
- task: ServiceFabricDeploy@1
inputs:
applicationPackagePath: # string. Required. Application Package.
serviceConnectionName: # string. Required. Cluster Service Connection.
#publishProfilePath: # string. Publish Profile.
#applicationParameterPath: # string. Application Parameters.
#overrideApplicationParameter: false # boolean. Override Application Parameters. Default: false.
# Advanced Settings
#compressPackage: false # boolean. Compress Package. Default: false.
#copyPackageTimeoutSec: # string. CopyPackageTimeoutSec.
#registerPackageTimeoutSec: # string. RegisterPackageTimeoutSec.
overwriteBehavior: 'SameAppTypeAndVersion' # 'Always' | 'Never' | 'SameAppTypeAndVersion'. Required. Overwrite Behavior. Default: SameAppTypeAndVersion.
#skipUpgradeSameTypeAndVersion: false # boolean. Skip upgrade for same Type and Version. Default: false.
#skipPackageValidation: false # boolean. Skip package validation. Default: false.
# Upgrade Settings
#useDiffPackage: false # boolean. Use Diff Package. Default: false.
#overridePublishProfileSettings: false # boolean. Override All Publish Profile Upgrade Settings. Default: false.
#isUpgrade: true # boolean. Optional. Use when overridePublishProfileSettings = true. Upgrade the Application. Default: true.
#unregisterUnusedVersions: true # boolean. Unregister Unused Versions. Default: true.
#upgradeMode: 'Monitored' # 'Monitored' | 'UnmonitoredAuto' | 'UnmonitoredManual'. Required when overridePublishProfileSettings = true && isUpgrade = true. Upgrade Mode. Default: Monitored.
#FailureAction: 'Rollback' # 'Rollback' | 'Manual'. Required when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. FailureAction. Default: Rollback.
#UpgradeReplicaSetCheckTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. UpgradeReplicaSetCheckTimeoutSec.
#TimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. TimeoutSec.
#ForceRestart: false # boolean. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. ForceRestart. Default: false.
#HealthCheckRetryTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckRetryTimeoutSec.
#HealthCheckWaitDurationSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckWaitDurationSec.
#HealthCheckStableDurationSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckStableDurationSec.
#UpgradeDomainTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. UpgradeDomainTimeoutSec.
#ConsiderWarningAsError: false # boolean. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. ConsiderWarningAsError. Default: false.
#DefaultServiceTypeHealthPolicy: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. DefaultServiceTypeHealthPolicy.
#MaxPercentUnhealthyDeployedApplications: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. MaxPercentUnhealthyDeployedApplications.
#UpgradeTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. UpgradeTimeoutSec.
#ServiceTypeHealthPolicyMap: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. ServiceTypeHealthPolicyMap.
# Docker Settings
#configureDockerSettings: false # boolean. Configure Docker settings. Default: false.
#registryCredentials: 'AzureResourceManagerEndpoint' # 'AzureResourceManagerEndpoint' | 'ContainerRegistryEndpoint' | 'UsernamePassword'. Required when configureDockerSettings = true. Registry Credentials Source. Default: AzureResourceManagerEndpoint.
#dockerRegistryConnection: # string. Alias: dockerRegistryEndpoint. Required when configureDockerSettings = true && registryCredentials = ContainerRegistryEndpoint. Docker Registry Service Connection.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when configureDockerSettings = true && registryCredentials = AzureResourceManagerEndpoint. Azure subscription.
#registryUserName: # string. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Registry User Name.
#registryPassword: # string. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Registry Password.
#passwordEncrypted: true # boolean. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Password Encrypted. Default: true.
# Service Fabric Application Deployment v1
# Deploy a Service Fabric application to a cluster.
- task: ServiceFabricDeploy@1
inputs:
applicationPackagePath: # string. Required. Application Package.
serviceConnectionName: # string. Required. Cluster Service Connection.
#publishProfilePath: # string. Publish Profile.
#applicationParameterPath: # string. Application Parameters.
#overrideApplicationParameter: false # boolean. Override Application Parameters. Default: false.
# Advanced Settings
#compressPackage: false # boolean. Compress Package. Default: false.
#copyPackageTimeoutSec: # string. CopyPackageTimeoutSec.
#registerPackageTimeoutSec: # string. RegisterPackageTimeoutSec.
overwriteBehavior: 'SameAppTypeAndVersion' # 'Always' | 'Never' | 'SameAppTypeAndVersion'. Required. Overwrite Behavior. Default: SameAppTypeAndVersion.
#skipUpgradeSameTypeAndVersion: false # boolean. Skip upgrade for same Type and Version. Default: false.
#skipPackageValidation: false # boolean. Skip package validation. Default: false.
# Upgrade Settings
#useDiffPackage: false # boolean. Use Diff Package. Default: false.
#overridePublishProfileSettings: false # boolean. Override All Publish Profile Upgrade Settings. Default: false.
#isUpgrade: true # boolean. Optional. Use when overridePublishProfileSettings = true. Upgrade the Application. Default: true.
#unregisterUnusedVersions: true # boolean. Unregister Unused Versions. Default: true.
#upgradeMode: 'Monitored' # 'Monitored' | 'UnmonitoredAuto' | 'UnmonitoredManual'. Required when overridePublishProfileSettings = true && isUpgrade = true. Upgrade Mode. Default: Monitored.
#FailureAction: 'Rollback' # 'Rollback' | 'Manual'. Required when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. FailureAction. Default: Rollback.
#UpgradeReplicaSetCheckTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. UpgradeReplicaSetCheckTimeoutSec.
#TimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. TimeoutSec.
#ForceRestart: false # boolean. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true. ForceRestart. Default: false.
#HealthCheckRetryTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckRetryTimeoutSec.
#HealthCheckWaitDurationSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckWaitDurationSec.
#HealthCheckStableDurationSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. HealthCheckStableDurationSec.
#UpgradeDomainTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. UpgradeDomainTimeoutSec.
#ConsiderWarningAsError: false # boolean. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. ConsiderWarningAsError. Default: false.
#DefaultServiceTypeHealthPolicy: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. DefaultServiceTypeHealthPolicy.
#MaxPercentUnhealthyDeployedApplications: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. MaxPercentUnhealthyDeployedApplications.
#UpgradeTimeoutSec: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. UpgradeTimeoutSec.
#ServiceTypeHealthPolicyMap: # string. Optional. Use when overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored. ServiceTypeHealthPolicyMap.
# Docker Settings
#configureDockerSettings: false # boolean. Configure Docker settings. Default: false.
#registryCredentials: 'AzureResourceManagerEndpoint' # 'AzureResourceManagerEndpoint' | 'ContainerRegistryEndpoint' | 'UsernamePassword'. Required when configureDockerSettings = true. Registry Credentials Source. Default: AzureResourceManagerEndpoint.
#dockerRegistryConnection: # string. Alias: dockerRegistryEndpoint. Required when configureDockerSettings = true && registryCredentials = ContainerRegistryEndpoint. Docker Registry Service Connection.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Required when configureDockerSettings = true && registryCredentials = AzureResourceManagerEndpoint. Azure subscription.
#registryUserName: # string. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Registry User Name.
#registryPassword: # string. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Registry Password.
#passwordEncrypted: true # boolean. Optional. Use when configureDockerSettings = true && registryCredentials = UsernamePassword. Password Encrypted. Default: true.
입력
applicationPackagePath
- 애플리케이션 패키지
string
. 필수 요소.
배포할 애플리케이션 패키지의 경로를 지정합니다. 경로에서 변수 및 와일드카드를 사용할 수 있습니다.
serviceConnectionName
- 클러스터 서비스 연결
string
. 필수 요소.
클러스터에 연결하는 데 사용할 Azure Service Fabric 서비스 연결을 지정합니다. 이 참조된 서비스 연결에 정의된 설정은 게시 프로필에 정의된 설정을 재정의합니다. 새 서비스 연결을 등록하도록 선택합니다 Manage
.
클러스터에 연결하기 위해 서비스 패브릭 작업은 컴퓨터 인증서 저장소를 사용하여 인증서에 대한 정보를 저장합니다. 두 릴리스가 동일한 인증서를 사용하여 한 컴퓨터에서 함께 실행되면 제대로 시작됩니다. 그러나 작업 중 하나가 완료되면 컴퓨터 인증서 저장소의 인증서가 정리되어 두 번째 릴리스에 영향을 줍니다.
publishProfilePath
- 프로필 게시
string
.
선택 사항입니다. 사용할 설정을 정의하는 게시 프로필 파일의 경로를 지정합니다. 경로에서 변수 및 와일드카드를 사용할 수 있습니다. Visual Studio에서 게시 프로필을 만드는 방법에 대해 자세히 알아봅니다.
applicationParameterPath
- 애플리케이션 매개 변수
string
.
선택 사항입니다. 애플리케이션 매개 변수 파일의 경로를 지정합니다. 경로에서 변수 및 와일드카드를 사용할 수 있습니다. 지정된 경우 게시 프로필의 값을 재정의합니다. Visual Studio에서 애플리케이션 매개 변수 파일을 만드는 방법에 대해 자세히 알아봅니다.
overrideApplicationParameter
- 애플리케이션 매개 변수 재정의
boolean
. 기본값은 false
입니다.
선택 사항입니다. 빌드 또는 릴리스 파이프라인에 정의된 변수가 애플리케이션 매니페스트 파일의 Parameter Name
항목과 일치할 수 있음을 지정합니다. Visual Studio에서 애플리케이션 매개 변수 파일을 만드는 방법에 대해 자세히 알아봅니다.
예제:
<Parameters>
<Parameter Name="SampleApp_PartitionCount" Value="1" />
<Parameter Name="SampleApp_InstanceCount" DefaultValue="-1" />
</Parameters>
애플리케이션에 위의 예제와 같이 정의된 매개 변수가 있고 파티션 수를 2
로 변경하려는 경우 릴리스 파이프라인 또는 환경 변수 SampleApp_PartitionCount
및 해당 값을 로 2
정의할 수 있습니다.
참고
릴리스 파이프라인 및 환경에서 동일한 변수가 정의된 경우 환경 변수는 릴리스 파이프라인 변수를 대체합니다.
compressPackage
- 패키지 압축
boolean
. 기본값은 false
입니다.
선택 사항입니다. 이미지 저장소로 복사하기 전에 애플리케이션 패키지를 압축해야 하는지 여부를 지정합니다. 사용하도록 설정하면 게시 프로필의 값이 재정의됩니다. 패키지 압축에 대해 자세히 알아봅니다.
copyPackageTimeoutSec
- CopyPackageTimeoutSec
string
.
선택 사항입니다. 애플리케이션 패키지를 이미지 저장소에 복사하기 위한 시간 제한(초)을 지정합니다. 지정된 경우 게시 프로필의 값을 재정의합니다.
registerPackageTimeoutSec
- RegisterPackageTimeoutSec
string
.
선택 사항입니다. 애플리케이션 패키지를 등록하거나 등록 해제하기 위한 시간 제한(초)을 지정합니다.
overwriteBehavior
- 덮어쓰기 동작
string
. 필수 요소. 허용되는 값: Always
, Never
, SameAppTypeAndVersion
. 기본값은 SameAppTypeAndVersion
입니다.
동일한 이름의 클러스터에 애플리케이션이 있고 업그레이드가 구성되지 않은 경우 동작을 덮어씁니다.
Never
는 기존 애플리케이션을 제거하지 않습니다. 기본 동작입니다.
Always
는 애플리케이션 유형 및 버전이 생성되는 애플리케이션과 다른 경우에도 기존 애플리케이션을 제거합니다.
SameAppTypeAndVersion
는 애플리케이션 유형 및 버전이 생성되는 애플리케이션과 동일한 경우에만 기존 애플리케이션을 제거합니다.
skipUpgradeSameTypeAndVersion
- 동일한 형식 및 버전에 대한 업그레이드 건너뛰기
boolean
. 기본값은 false
입니다.
선택 사항입니다. 클러스터에 동일한 애플리케이션 유형 및 버전이 이미 있는 경우 업그레이드를 건너뛸지 여부를 지정합니다. 그렇지 않으면 유효성 검사 중에 업그레이드가 실패합니다. 사용하도록 설정된 경우 다시 배포는 idempotent입니다.
skipPackageValidation
- 패키지 유효성 검사 건너뛰기
boolean
. 기본값은 false
입니다.
선택 사항입니다. 배포 전에 패키지의 유효성을 검사해야 하는지 여부를 지정합니다. 패키지 유효성 검사에 대해 자세히 알아봅니다.
useDiffPackage
- Diff 패키지 사용
boolean
. 기본값은 false
입니다.
선택 사항입니다. 업데이트된 애플리케이션 파일, 업데이트된 애플리케이션 매니페스트 및 서비스 매니페스트 파일만 포함하는 diff 패키지를 사용하여 업그레이드합니다.
애플리케이션 패키지 입력에 지정된 패키지를 현재 대상 클러스터에 등록된 패키지와 비교하여 diff 패키지가 만들어집니다. 클러스터의 현재 패키지에 있는 서비스 버전이 새 패키지와 동일한 경우 이 서비스 패키지는 새 애플리케이션 패키지에서 제거됩니다. diff 패키지에 대해 자세히 알아보세요.
overridePublishProfileSettings
- 모든 게시 프로필 업그레이드 설정 재정의
boolean
. 기본값은 false
입니다.
선택 사항입니다. 지정된 값 또는 기본값(지정되지 않은 경우)으로 모든 업그레이드 설정을 재정의합니다. 업그레이드 설정에 대해 자세히 알아보세요.
isUpgrade
- 애플리케이션 업그레이드
boolean
. 선택 사항입니다. 를 사용하는 경우 overridePublishProfileSettings = true
를 사용합니다. 기본값은 true
입니다.
값이 로 설정된 false
경우 애플리케이션을 덮어씁니다.
unregisterUnusedVersions
- 사용하지 않는 버전 등록 취소
boolean
. 기본값은 true
입니다.
선택 사항입니다. 업그레이드 후 사용되지 않는 애플리케이션 유형의 모든 버전을 제거할지 여부를 나타냅니다.
upgradeMode
- 업그레이드 모드
string
. 필요한 경우 overridePublishProfileSettings = true && isUpgrade = true
입니다. 허용되는 값: Monitored
, UnmonitoredAuto
, UnmonitoredManual
. 기본값은 Monitored
입니다.
FailureAction
- FailureAction
string
. 필요한 경우 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
입니다. 허용되는 값: Rollback
, Manual
. 기본값은 Rollback
입니다.
UpgradeReplicaSetCheckTimeoutSec
- UpgradeReplicaSetCheckTimeoutSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true
사용합니다.
TimeoutSec
- TimeoutSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true
사용합니다.
ForceRestart
- ForceRestart
boolean
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true
사용합니다. 기본값은 false
입니다.
HealthCheckRetryTimeoutSec
- HealthCheckRetryTimeoutSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
HealthCheckWaitDurationSec
- HealthCheckWaitDurationSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
HealthCheckStableDurationSec
- HealthCheckStableDurationSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
UpgradeDomainTimeoutSec
- UpgradeDomainTimeoutSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
ConsiderWarningAsError
- ConsiderWarningAsError
boolean
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다. 기본값은 false
입니다.
DefaultServiceTypeHealthPolicy
- DefaultServiceTypeHealthPolicy
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
MaxPercentUnhealthyDeployedApplications
- MaxPercentUnhealthyDeployedApplications
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
UpgradeTimeoutSec
- UpgradeTimeoutSec
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
ServiceTypeHealthPolicyMap
- ServiceTypeHealthPolicyMap
string
. 선택 사항입니다. 을 사용할 때 overridePublishProfileSettings = true && isUpgrade = true && upgradeMode = Monitored
사용합니다.
configureDockerSettings
- Docker 설정 구성
boolean
. 기본값은 false
입니다.
지정된 Docker 설정을 사용하여 애플리케이션을 구성합니다.
registryCredentials
- 레지스트리 자격 증명 원본
string
. 필요한 경우 configureDockerSettings = true
입니다. 허용되는 값: AzureResourceManagerEndpoint
(Azure Resource Manager 서비스 연결), ContainerRegistryEndpoint
(Container Registry 서비스 연결), UsernamePassword
(사용자 이름 및 암호). 기본값은 AzureResourceManagerEndpoint
입니다.
Docker 레지스트리에 대한 자격 증명을 제공하는 방법을 지정합니다.
dockerRegistryConnection
- Docker 레지스트리 서비스 연결
입력 별칭: dockerRegistryEndpoint
. string
. 필요한 경우 configureDockerSettings = true && registryCredentials = ContainerRegistryEndpoint
입니다.
Docker 레지스트리 서비스 연결을 지정합니다. 레지스트리를 사용하여 인증해야 하는 명령에 필요합니다.
참고
태스크는 레지스트리 비밀을 서비스 패브릭 클러스터로 전송하기 전에 암호화하려고 시도합니다. 그러나 태스크는 에이전트 컴퓨터에 클러스터의 서버 인증서를 설치해야 합니다. 인증서가 없으면 레지스트리 암호가 암호화되지 않습니다.
azureSubscription
- Azure 구독
입력 별칭: azureSubscriptionEndpoint
. string
. 필요한 경우 configureDockerSettings = true && registryCredentials = AzureResourceManagerEndpoint
입니다.
Azure 구독을 지정합니다.
참고
작업은 레지스트리 비밀을 서비스 패브릭 클러스터로 전송하기 전에 암호화하려고 시도합니다. 그러나 태스크는 에이전트 컴퓨터에 클러스터의 서버 인증서를 설치해야 합니다. 인증서가 없으면 레지스트리 암호가 암호화되지 않습니다.
registryUserName
- 레지스트리 사용자 이름
string
. 선택 사항입니다. 을 사용할 때 configureDockerSettings = true && registryCredentials = UsernamePassword
사용합니다.
Docker 레지스트리의 사용자 이름을 지정합니다.
registryPassword
- 레지스트리 암호
string
. 선택 사항입니다. 을 사용할 때 configureDockerSettings = true && registryCredentials = UsernamePassword
사용합니다.
Docker 레지스트리의 암호를 지정합니다. 암호가 암호화되지 않은 경우 사용자 지정 릴리스 파이프라인 비밀 변수를 사용하여 저장해야 합니다.
passwordEncrypted
- 암호 암호화됨
boolean
. 선택 사항입니다. 을 사용할 때 configureDockerSettings = true && registryCredentials = UsernamePassword
사용합니다. 기본값은 true
입니다.
Invoke-ServiceFabricEncryptText를 사용하여 암호를 암호화해야 합니다. 그렇지 않은 경우 클러스터 서비스 연결의 서버 인증서 지문과 일치하는 인증서가 빌드 에이전트에 설치되어 있으면 해당 인증서가 암호를 암호화하는 데 사용됩니다. 그렇지 않으면 오류가 발생합니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
이 작업을 사용하여 Service Fabric 애플리케이션을 클러스터에 배포합니다. 이 작업은 게시 프로필에 정의된 설정에 따라 Azure Service Fabric 애플리케이션을 클러스터에 배포합니다.
Service Fabric
이 작업은 Service Fabric 설치를 사용하여 Service Fabric 클러스터에 연결하고 배포합니다. 빌드 에이전트에 Service Fabric을 다운로드하여 설치합니다.