다음을 통해 공유


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 앱의 버전을 자동으로 업데이트하는 데 사용할 수 있습니다.

이 작업은 다음 두 가지 유형의 업데이트를 지원합니다.

  1. 매니페스트 버전: 업데이트 Service 및 Service Fabric 애플리케이션 패키지의 매니페스트 파일에 지정된 애플리케이션 버전입니다. 를 지정 manifest version 하면 현재 파일을 이전 빌드와 비교하고 변경된 서비스에 대해서만 버전을 업데이트합니다.

  2. Docker 이미지 설정: service fabric 애플리케이션 패키지의 매니페스트 파일에 지정된 docker 컨테이너 이미지 설정을 업데이트. 배치할 이미지 설정은 다음 두 파일에서 선택됩니다.

    a. 이미지 이름 파일: 이 파일은 빌드 작업에 의해 생성됩니다.

    b. 이미지 다이제스트 파일: 이 파일은 레지스트리에 이미지를 푸시할 때 docker 작업에 의해 생성됩니다.

예제

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드
실행 중 에이전트, DeploymentGroup
요청 자체 호스팅 에이전트에는 이 작업을 사용하는 작업을 실행하기 위한 다음 요구 사항과 일치하는 기능이 있어야 합니다. Cmd
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
Settable 변수 모두
에이전트 버전 1.95.0 이상
작업 범주 유틸리티