Azure Devops - YAML에서 직면한 파일 변환(변수 대체) 및 문제

2450 단어
이 문서에 따라 Azure Devops의 파일 변환 작업을 사용하여 json 및 xml 파일의 변수를 대체했습니다.

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/file-transform?view=azure-devops

비디오 설명

https://youtu.be/_iPfzH3ENAk

# File transform
# Replace tokens with variable values in XML or JSON configuration files
- task: FileTransform@1
 inputs:
 #folderPath: $(System.DefaultWorkingDirectory)/**/*.zip 
 #enableXmlTransform: # Optional
 #xmlTransformationRules: -transform **\*.Release.config -xml** \*.config-transform **\*.$(Environment.Name).config -xml**\*.config # Optional
 #fileType: # Optional. Options: xml, json
 #targetFiles: # Optional



이것을 사용하면 다음과 같은 오류 메시지가 표시됩니다: 변경 사항이 이미 존재한다는 메시지.

원본 폴더를 직접 대상으로 지정할 때 변경 사항이 이미 존재한다는 메시지를 받았습니다. 아이디어는 빌드 패키지가 이 작업에 의해 편집되므로 테스트 또는 배포 전에 구성이 업데이트된다는 것입니다.

이것은 나를 위해 일했습니다 (**/참고).

단계:

task: FileTransform@1
displayName: File Transform: appsettings.json
inputs:
folderPath: $(System.DefaultWorkingDirectory)
fileType: json
targetFiles: **/appsettings.json



Windows가 아닌 앱에 대해 변수 대체를 수행하는 경우 발생할 수 있는 또 다른 오류를 방지하려면: Windows가 아닌 플랫폼에서 XML 변환을 수행할 수 없습니다.

xmlTransformationRules을 지정해야 합니다. 이것은 Linux 앱 서비스에 대해 작동합니다.

task: FileTransform@2
  inputs:
    folderPath: $(Pipeline.Workspace)/path-to/my-package.zip
    jsonTargetFiles: appsettings.json
    xmlTransformationRules: '' # disabled



GitHub repo에서 이 문제를 참조하여 누군가에게 도움이 되기를 바랍니다.

https://github.com/MicrosoftDocs/azure-devops-docs/issues/6563

라이브 설명은 내 채널의 비디오를 참조하십시오.

https://youtu.be/QxJ_y6pV6No

https://youtu.be/dGLWBWZavhw

https://youtu.be/C8t4EUV6yok

유튜브 채널

좋은 웹페이지 즐겨찾기