ServiceFabricUpdateManifests@2 - Service Fabric 매니페스트 v2 작업 업데이트
빌드 파이프라인에서 이 작업을 사용하여 패키지된 Service Fabric 앱의 버전을 자동으로 업데이트합니다. 이 작업은 Azure Service Fabric 앱 패키지의 매니페스트 파일에 지정된 모든 서비스 및 앱 버전에 버전 접미사를 추가합니다.
Syntax
# Update Service Fabric manifests v2
# Automatically update portions of application and service manifests in a packaged Azure Service Fabric application.
- task: ServiceFabricUpdateManifests@2
inputs:
updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
applicationPackagePath: # string. Required. Application Package.
#versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
#versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
#updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
#pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name.
#logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
#compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
#buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number.
#overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
#imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path.
#imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.
# Update Service Fabric Manifests v2
# Automatically updates portions of the application and service manifests within a packaged Service Fabric application.
- task: ServiceFabricUpdateManifests@2
inputs:
updateType: 'Manifest versions' # 'Manifest versions' | 'Docker image settings'. Required. Update Type. Default: Manifest versions.
applicationPackagePath: # string. Required. Application Package.
#versionSuffix: '.$(Build.BuildNumber)' # string. Required when updateType = Manifest versions. Version Value. Default: .$(Build.BuildNumber).
#versionBehavior: 'Append' # 'Append' | 'Replace'. Optional. Use when updateType = Manifest versions. Version Behavior. Default: Append.
#updateOnlyChanged: false # boolean. Optional. Use when updateType = Manifest versions. Update only if changed. Default: false.
#pkgArtifactName: # string. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Package Artifact Name.
#logAllChanges: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Log all changes. Default: true.
#compareType: 'LastSuccessful' # 'LastSuccessful' | 'Specific'. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Compare against. Default: LastSuccessful.
#buildNumber: # string. Optional. Use when updateType = Manifest versions && compareType = Specific. Build Number.
#overwriteExistingPkgArtifact: true # boolean. Optional. Use when updateType = Manifest versions && updateOnlyChanged = true. Overwrite Existing Package Artifact. Default: true.
#imageNamesPath: # string. Optional. Use when updateType = Docker image settings. Image Names Path.
#imageDigestsPath: # string. Required when updateType = Docker image settings. Image Digests Path.
입력
updateType
- 업데이트 유형
string
. 필수 요소. 허용되는 값: Manifest versions
, Docker image settings
. 기본값은 Manifest versions
입니다.
매니페스트 파일에 대해 수행해야 하는 업데이트 유형을 지정합니다. 두 업데이트 형식을 모두 사용하려면 실행할 각 업데이트 유형에 대해 이 작업의 인스턴스를 빌드 파이프라인에 추가합니다.
applicationPackagePath
- 애플리케이션 패키지
string
. 필수 요소.
애플리케이션 패키지의 경로를 지정합니다. 경로에서 변수 및 와일드카드를 사용할 수 있습니다. applicationPackagePath
또는 의 후행 슬래시 \
/
가 없어야 합니다.
versionSuffix
- 버전 값
string
. 필요한 경우 updateType = Manifest versions
입니다. 기본값은 .$(Build.BuildNumber)
입니다.
매니페스트 파일의 버전을 지정합니다.
팁
빌드 번호 형식을 직접 수정하거나 로깅 명령을 사용하여 변수를 형식으로 동적으로 설정할 수 있습니다. 예를 들어 PowerShell 태스크에 정의된 을 사용할 $(VersionSuffix)
수 있습니다.
$versionSuffix = ".$([DateTimeOffset]::UtcNow.ToString('yyyyMMdd.HHmmss'))"
Write-Host "##vso[task.setvariable variable=VersionSuffix;]$versionSuffix"
versionBehavior
- 버전 동작
string
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions
를 사용합니다. 허용되는 값: Append
, Replace
. 기본값은 Append
입니다.
매니페스트 파일의 기존 값에 버전 값을 추가할지 아니면 바꿀지를 지정합니다.
updateOnlyChanged
- 변경된 경우에만 업데이트
boolean
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions
를 사용합니다. 기본값은 false
입니다.
이전 빌드에서 변경된 패키지에만 새 버전 접미사를 추가합니다. 변경 내용을 찾을 수 없으면 이전 빌드의 버전 접미사가 추가됩니다.
참고
기본적으로 컴파일러는 변경되지 않은 경우에도 다른 출력을 만듭니다. 결정적 컴파일러 플래그를 사용하여 동일한 입력이 있는 빌드가 동일한 출력을 생성하도록 합니다.
pkgArtifactName
- 패키지 아티팩트 이름
string
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions && updateOnlyChanged = true
를 사용합니다.
비교를 위해 애플리케이션 패키지를 포함하는 아티팩트 이름을 지정합니다.
logAllChanges
- 모든 변경 내용 기록
boolean
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions && updateOnlyChanged = true
를 사용합니다. 기본값은 true
입니다.
모든 패키지의 모든 파일을 비교하고 파일이 추가, 제거되었거나 콘텐츠가 변경된 경우 로그합니다. 그렇지 않으면 이 부울은 더 빠른 성능을 위해 첫 번째 변경 내용이 발견될 때까지만 패키지의 파일을 비교합니다.
compareType
- 비교
string
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions && updateOnlyChanged = true
를 사용합니다. 허용되는 값: LastSuccessful
(마지막으로 성공한 빌드), Specific
(특정 빌드). 기본값은 LastSuccessful
입니다.
마지막으로 완료되고 성공한 빌드와 비교할지 아니면 특정 빌드와 비교할지 여부를 지정합니다.
buildNumber
- 빌드 번호
string
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions && compareType = Specific
를 사용합니다.
비교할 빌드 번호를 지정합니다.
overwriteExistingPkgArtifact
- 기존 패키지 아티팩트 덮어쓰기
boolean
. (선택 사항) 를 사용하는 경우 updateType = Manifest versions && updateOnlyChanged = true
를 사용합니다. 기본값은 true
입니다.
아티팩트 새 복사본을 다운로드합니다. 그렇지 않으면 이 부울은 존재하는 경우 기존 복사본을 사용합니다.
imageNamesPath
- 이미지 이름 경로
string
. (선택 사항) 를 사용하는 경우 updateType = Docker image settings
를 사용합니다.
다이제스트로 업데이트해야 하는 Service Fabric 애플리케이션과 연결된 Docker 이미지의 이름이 포함된 텍스트 파일의 경로를 지정합니다. 각 이미지 이름은 자체 줄에 있어야 하며 Image Digests 파일의 다이제스트와 동일한 순서여야 합니다. Service Fabric 프로젝트에서 이미지를 만드는 경우 이 파일은 패키지 대상의 일부로 생성되고 출력 위치는 속성 BuiltDockerImagesFilePath
에 의해 제어됩니다.
imageDigestsPath
- 이미지 다이제스트 경로
string
. 필요한 경우 updateType = Docker image settings
입니다.
Service Fabric 애플리케이션과 연결된 Docker 이미지의 다이제스트 값이 포함된 텍스트 파일의 경로를 지정합니다. 이 파일은 푸시 작업을 사용할 때 Docker 작업 에서 출력할 수 있습니다. 파일에는 형식 registry/image_name@digest_value
의 텍스트 줄이 포함되어야 합니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
빌드 파이프라인에서 이 작업을 사용하여 패키지된 Service Fabric 앱의 버전을 자동으로 업데이트합니다. 이 작업은 Azure Service Fabric 앱 패키지의 매니페스트 파일에 지정된 모든 서비스 및 앱 버전에 버전 접미사를 추가합니다.
참고
이 작업에는 Windows PowerShell 필요합니다.
이 작업은 릴리스 파이프라인에서 사용할 수 없습니다.
이 작업은 빌드 파이프라인에서만 패키지된 Service Fabric 앱의 버전을 자동으로 업데이트하는 데 사용할 수 있습니다.
이 작업은 다음 두 가지 유형의 업데이트를 지원합니다.
매니페스트 버전: 업데이트 Service 및 Service Fabric 애플리케이션 패키지의 매니페스트 파일에 지정된 애플리케이션 버전입니다. 를 지정
manifest version
하면 현재 파일을 이전 빌드와 비교하고 변경된 서비스에 대해서만 버전을 업데이트합니다.Docker 이미지 설정: service fabric 애플리케이션 패키지의 매니페스트 파일에 지정된 docker 컨테이너 이미지 설정을 업데이트. 배치할 이미지 설정은 다음 두 파일에서 선택됩니다.
a. 이미지 이름 파일: 이 파일은 빌드 작업에 의해 생성됩니다.
b. 이미지 다이제스트 파일: 이 파일은 레지스트리에 이미지를 푸시할 때 docker 작업에 의해 생성됩니다.
예제
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 자체 호스팅 에이전트에는 이 작업을 사용하는 작업을 실행하기 위한 다음 요구 사항과 일치하는 기능이 있어야 합니다. Cmd |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
Settable 변수 | 모두 |
에이전트 버전 | 1.95.0 이상 |
작업 범주 | 유틸리티 |