2017-04-16 16 views
0

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

+0

커스텀 빌드 태스크의 task.json 파일에 setParamFile을 정의하는 방법과'DCA_API.SetParameters.xml'의 위치를 ​​게시 하시겠습니까? 다음은 이미 개발 된 확장 기능입니다. https://github.com/rschiefer/MSDeployAllTheThings –

+0

사용자 지정 컨트롤은 MSDeployAllTheThings에서 파생되었으며 (추가 매개 변수가 있고 다중 서버 배포를 지원하도록 수정 됨) task.json에는 setParamFile을 가져올 매개 변수가 없습니다. 위치는 패키지 위치를 사용하고 .zip을 .SetParameters.xml로 대체하여 결정됩니다. 내가 확인한대로 파일이 분명히 있습니다. –

답변

0

나는이 작업을 사용한다고 가정 : MSDeployAllTheThings. 로그에 따르면, 당신은 릴리스에서 그것을 사용하고 있습니다. 따라서 "DCA_API.SetParameters.xml"파일이 빌드 중에 아티팩트 드롭에 게시되고 릴리스 중에 올바르게 다운로드되는지 확인해야합니다. 그런 다음 작업이 파일을 찾을 수 있도록 추가 인수에 절대 경로를 입력해야합니다. 은 "DCA_API.SetParameters.xml"파일이 "DCA_API.zip"파일과 같은 폴더에 저장되어있는 경우 시나리오를 들어, 당신이 사용할 필요가 : 내 옆에 나는 절대 경로로 시도

-setParamFile:"D:\BuildAgent\_work\194fdc7b9\Data Collection App - Release\drop\_PublishedWebsites\Cabi.FormsAdmin.Api_Package\DCA_API.SetParameters.xml" 

및 그것으로 어떤 문제도 보지 못했습니다.

+0

답장을 보내 주셔서 감사합니다. 설정 파일은 zip 패키지와 동일한 경로에 있으며 절대 경로와 함께 사용했으며 파일을 찾을 수없는 대신 잘못된 경로를 사용합니다. 또한 수동으로 확인했는데 파일이 확실히 폴더에 나타납니다. –

+0

@NeilD 절대 경로를 사용할 때 로그를 공유 할 수 있습니까? –

+0

@NeilD 가능한 경우 빌드 정의에서 작업 설정에 대한 스크린 샷을 공유하십시오. –