FileTransform@2 - 파일 변환 v2 작업
이 작업을 사용하여 토큰을 XML 또는 JSON 구성 파일의 변수 값으로 바꿀 수 있습니다.
통사론
# File transform v2
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@2
inputs:
folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#enableXmlTransform: true # boolean. XML transformation. Default: true.
#xmlTransformationRules: '-transform **\*.Release.config -xml **\*.config' # string. Optional. Use when enableXmlTransform == true. XML Transformation rules. Default: -transform **\*.Release.config -xml **\*.config.
# Variable Substitution
#jsonTargetFiles: # string. JSON target files.
#xmlTargetFiles: # string. XML target files.
# File transform v2
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@2
inputs:
folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#xmlTransformationRules: '-transform **\*.Release.config -xml **\*.config' # string. XML Transformation rules. Default: -transform **\*.Release.config -xml **\*.config.
# Variable Substitution
#jsonTargetFiles: # string. JSON target files.
#xmlTargetFiles: # string. XML target files.
입력
패키지 또는 폴더
string
. 필수. 기본값: $(System.DefaultWorkingDirectory)/**/*.zip
.
패키지 또는 폴더의 파일 경로입니다.
변수는 빌드 및
예를 들어 $(System.DefaultWorkingDirectory)/**/*.zip
. 압축된 폴더의 경우 콘텐츠가 TEMP 위치, 실행된 변환 및 원래 아티팩트 위치에 압축된 결과로 추출됩니다.
enableXmlTransform
-
XML 변환
boolean
. 기본값: true
.
구성 변환은 변수 대체 전에 실행됩니다.
XML 변환은 Windows 플랫폼에 대해서만 지원됩니다.
xmlTransformationRules
-
XML 변환 규칙
string
. 선택적.
enableXmlTransform == true
때 사용합니다. 기본값: -transform **\*.Release.config -xml **\*.config
.
구문을 사용하여 줄 바꿈으로 구분된 변환 파일 규칙 목록을 제공합니다. -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. 결과 파일 경로는 선택 사항이며, 지정하지 않으면 원본 구성 파일이 변환된 결과 파일로 바뀝니다.
xmlTransformationRules
-
XML 변환 규칙
string
. 기본값: -transform **\*.Release.config -xml **\*.config
.
구문을 사용하여 줄 바꿈으로 구분된 변환 파일 규칙 목록을 제공합니다. -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. 결과 파일 경로는 선택 사항이며, 지정하지 않으면 원본 구성 파일이 변환된 결과 파일로 바뀝니다.
JSON 대상 파일
string
.
변수 값을 대체할 줄 바꿈으로 구분된 파일 목록을 제공합니다. 루트 폴더를 기준으로 파일 이름을 제공해야 합니다.
예를 들어 아래 샘플에서 ConnectionString
값을 바꾸려면 빌드 또는 릴리스 파이프라인(또는 릴리스 파이프라인 환경)에서 변수를 Data.DefaultConnection.ConnectionString
정의해야 합니다.
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
변수 대체는 구성 변환 후에 실행됩니다.
참고: 빌드/릴리스 파이프라인에 정의된 사용자 지정 변수만 대체에 사용됩니다. 기본/시스템 정의 파이프라인 변수는 제외됩니다. 릴리스 파이프라인 및 단계에서 동일한 변수가 정의된 경우 스테이지 변수는 릴리스 파이프라인 변수를 대체합니다.
XML 대상 파일
string
.
변수 값을 대체할 줄 바꿈으로 구분된 파일 목록을 제공합니다. 루트 폴더를 기준으로 파일 이름을 제공해야 합니다.
XML의 경우 빌드 또는 릴리스 파이프라인에 정의된 변수는 구성 파일 및 parameters.xml
appSettings
, applicationSettings
및 connectionStrings
섹션의 key
또는 name
항목과 일치합니다.
변수 대체는 구성 변환 후에 실행됩니다.
참고: 빌드/릴리스 파이프라인에 정의된 사용자 지정 변수만 대체에 사용됩니다. 기본/시스템 정의 파이프라인 변수는 제외됩니다. 릴리스 파이프라인 및 단계에서 동일한 변수가 정의된 경우 스테이지 변수는 릴리스 파이프라인 변수를 대체합니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
발언
파일 변환 버전 2의 새로운 기능:
- 사용자가 단일 작업 인스턴스에서 XML(변환), 변수 대체(JSON 및 XML) 기능을 모두 사용하도록 설정할 수 있는 더 최적화된 작업 필드입니다.
- 구성된 변환/대체가 적용되지 않거나 작업이 no-op때 작업이 실패합니다.
이 작업을 사용하여 구성 및 매개 변수 파일에 파일 변환 및 변수 대체를 적용합니다. 번역 처리 방법에 대한 자세한 내용은 파일 변환 및 변수 대체 참조참조하세요.
중요하다
이 작업은 웹 패키지용이며 웹 패키지 파일이 필요합니다. 독립 실행형 JSON 파일에서는 작동하지 않습니다.
파일 변환
- 현재 파일 변환은 XML 파일에 대해서만 지원됩니다.
- 구성 파일(*.config)에 XML 변환을 적용하려면 구문을 사용하여 줄 바꿈으로 구분된 변환 파일 규칙 목록을 지정해야 합니다.
-t ransform <path to the transform file> -xml <path to the source file> -result <path to the result file>
- 파일 변환은 많은 시나리오에서 유용하며, 특히 App Service에 배포하고 표준 Web.config 변환 구문따라 다양한 환경(예: 개발, 테스트 또는 Prod)에 대한 구성을 추가, 제거 또는 수정하려는 경우에 유용합니다.
- 이 기능을 사용하여 콘솔 또는 Windows 서비스 애플리케이션 구성 파일(예:
FabrikamService.exe.config
)을 비롯한 다른 파일을 변환할 수도 있습니다. - 구성 파일 변환은 변수 대체 전에 실행됩니다.
변수 대체
- 현재는 변수 대체에 대해 XML 및 JSON 파일 형식만 지원됩니다.
- 대상 구성 파일에 정의된 토큰은 업데이트된 다음 변수 값으로 바뀝니다.
- 변수 대체는 구성 파일 변환 후에 실행됩니다.
- 변수 대체는 개체 계층 구조에 미리 정의된 JSON 키에만 적용됩니다. 새 키를 만들지 않습니다.
메모
빌드 및 릴리스 파이프라인에 정의된 사용자 지정 변수만 대체에 사용됩니다. 기본 및 시스템 파이프라인 변수는 제외됩니다.
현재 제외된 접두사 목록은 다음과 같습니다.
agent.
azure_http_user_agent
build.
common.
release.
system.
tf_
릴리스 파이프라인과 스테이지 모두에서 동일한 변수가 정의된 경우 스테이지 정의 변수는 파이프라인 정의 변수를 대체합니다.
참고 항목: 파일 변환 및 변수 대체 참조.
예제
패턴 .Production.config
사용하여 명명된 모든 구성 파일에서 XML 변환을 실행해야 하는 경우 변환 규칙을 다음과 같이 지정해야 합니다.
-transform **\*.Production.config -xml **\*.config
파이프라인의 스테이지 이름을 기반으로 이름이 지정된 구성 파일이 있는 경우 다음을 사용할 수 있습니다.
-transform **\*.$(Release.EnvironmentName).config -xml **\*.config
중첩 또는 계층 구조인 JSON 변수를 대체하려면 JSONPath 식을 사용하여 지정합니다.
예를 들어 아래 샘플에서 ConnectionString 값을 바꾸려면 빌드 또는 릴리스 파이프라인(또는 릴리스 파이프라인 내의 단계)에서 변수를 Data.DefaultConnection.ConnectionString
정의해야 합니다.
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
요구 사항
요구 | 묘사 |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
다음에서 실행 | 에이전트, DeploymentGroup |
요구 | 없음 |
기능 | 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다. |
명령 제한 | 어떤 |
settable 변수 |
어떤 |
에이전트 버전 | 지원되는 모든 에이전트 버전입니다. |
작업 범주 | 유틸리티 |