TFS2017 (업데이트 1)에서 사용자 지정 작업의 일부로 MSDeploy를 사용하고 있지만 setParamFile 옵션을 사용할 수 없습니다. 그것은 두 가지 오류 중 하나를 던집니다. 경로를 지정하지 않으면 "파일을 찾을 수 없습니다"라고 표시됩니다 (아래 추적 참조). 빌드 시스템에서 파일의 경로를 지정하면 잘못된 경로가 표시됩니다.setParamFile을 사용할 때 MSDeploy가 "파일을 찾을 수 없습니다"라고보고했습니다.
나는 믿을 수 없을만큼 간단하다고 생각하지만, 내게있어, 구글은 한 번, 내 친구가 아니다! 어떤 도움이라도 대단히 감사합니다.
모든 로그가 내부 서버에만 있으므로 로그를 변경하지 않았습니다. setParamFile 매개 변수가 없으면 업데이트하려고 시도하고있는 변수 연결 문자열을 업데이트하지 않고 잘 배포합니다.
2017-04-15T22:41:13.5065833Z Executing the powershell script: D:\BuildAgent\tasks\MSDeployPackageMultiSync\1.1.16\MSDeployPackageSync.ps1 2017-04-15T22:41:13.6472111Z packageFile= Find-Files -SearchPattern D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.zip 2017-04-15T22:41:13.6472111Z packageFile= D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.zip 2017-04-15T22:41:13.6784674Z DCA_API.SetParameters.xml 2017-04-15T22:41:13.7097114Z Package= D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.zip 2017-04-15T22:41:13.7097114Z ParamFile= -setParamFile:'DCA_API.SetParameters.xml' 2017-04-15T22:41:13.7097114Z DestinationProvider= auto 2017-04-15T22:41:13.7097114Z DestinationComputer= prerelweb3,prerelweb4 2017-04-15T22:41:13.7097114Z Username= 2017-04-15T22:41:13.7097114Z AdditionalArguments= 2017-04-15T22:41:13.7253453Z Deploying package to prerelweb3,prerelweb4 2017-04-15T22:41:13.7253453Z Deploying to prerelweb3 2017-04-15T22:41:13.7253453Z "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package='D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.zip' -setParamFile:'DCA_API.SetParameters.xml' -dest:auto,computerName='prerelweb3',userName='',password='',authType='ntlm',includeAcls='False' -setParam:name='IIS Web Application Name',value='WebServices (Secure)\FormsAdmin' -setParam:kind=DestinationVirtualDirectory,scope='WebServices (Secure)\\FormsAdmin',value='e:\cabi_sites\WebServices_Secure\FormsAdmin' -allowUntrusted **2017-04-15T22:41:14.1315861Z ##[error]System.Management.Automation.RemoteException: Error: Could not find file ''DCA_API.SetParameters.xml''.** 2017-04-15T22:41:14.1315861Z ##[error]System.Management.Automation.RemoteException: Error count: 1. 2017-04-15T22:41:14.1315861Z Deployment to prerelweb3 complete 2017-04-15T22:41:14.1315861Z Deploying to prerelweb4 2017-04-15T22:41:14.1315861Z "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package='D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.zip' -setParamFile:'DCA_API.SetParameters.xml' -dest:auto,computerName='prerelweb4',userName='',password='',authType='ntlm',includeAcls='False' -setParam:name='IIS Web Application Name',value='WebServices (Secure)\FormsAdmin' -setParam:kind=DestinationVirtualDirectory,scope='WebServices (Secure)\\FormsAdmin',value='e:\cabi_sites\WebServices_Secure\FormsAdmin' -allowUntrusted **2017-04-15T22:41:14.4909648Z ##[error]System.Management.Automation.RemoteException: Error: Could not find file ''DCA_API.SetParameters.xml''.** 2017-04-15T22:41:14.4909648Z ##[error]System.Management.Automation.RemoteException: Error count: 1. 2017-04-15T22:41:14.4909648Z Deployment to prerelweb4 complete
커스텀 빌드 태스크의 task.json 파일에 setParamFile을 정의하는 방법과'DCA_API.SetParameters.xml'의 위치를 게시 하시겠습니까? 다음은 이미 개발 된 확장 기능입니다. https://github.com/rschiefer/MSDeployAllTheThings –
사용자 지정 컨트롤은 MSDeployAllTheThings에서 파생되었으며 (추가 매개 변수가 있고 다중 서버 배포를 지원하도록 수정 됨) task.json에는 setParamFile을 가져올 매개 변수가 없습니다. 위치는 패키지 위치를 사용하고 .zip을 .SetParameters.xml로 대체하여 결정됩니다. 내가 확인한대로 파일이 분명히 있습니다. –