WebDeploy를 사용하고 있는데 나는 감당할 수없는 문제에 직면하고 있습니다. 첫째로, 나는 나의 아이디어를 개략적으로 설명하고 내가 가지고있는 이슈에 들어갈 것이다.WebDeploy 롤백 부분 백업
현재 IIS의 웹 사이트 루트 디렉터리 아래에서 실행되는 많은 응용 프로그램이 있습니다. 우리는 웹 사이트 수준이 아닌 응용 프로그램 수준에서 롤아웃 및 롤백 할 수 있기를 원합니다.
응용 프로그램을 롤아웃하려는 경우 사용자는 IIS에 webdeploy 패키지를 만듭니다. 그런 다음 Web Deploy를 사용하여이를 롤아웃합니다. 현재 WebDeploy가 응용 프로그램을 롤아웃 할 때 롤백해야하는 경우 전체 웹 사이트 (많은 응용 프로그램)의 백업이 필요합니다. 이것은 롤아웃에 적합하지만 롤백은 내가 문제가있는 곳입니다. 롤백시 전체 웹 사이트를 롤백하고 싶지 않습니다. 이 롤아웃 중에 변경된 부분 만 롤아웃하고 싶습니다. 진행중인 다른 롤아웃의 발가락을 밟지 않는 것이 중요합니다.
이 요구 사항을 충족시키기 위해 필자는 본질적으로 백업 패키지로 초기 롤아웃 패키지와 다른 코드를 작성했습니다. 파일이 초기 롤아웃 패키지에있는 경우 백업 패키지에서 해당 파일을 가져옵니다. 백업에서 초기 롤아웃에 해당하는 모든 파일을 확보하고 나면 백업에서 systeminfo.xml, parameters.xml 및 archive.xml을 복사하고이 모든 파일을 사용하여 참조 할 새로운 zip 파일을 만듭니다 Rollback 패키지. 이제 롤백 패키지는 백업 패키지와 완전히 동일한 폴더 구조를 가지므로 초기 롤아웃에서 대체되지 않은 파일 만 백업에서 누락됩니다. 내가 겪고있는 문제는이 새로운 롤백 패키지를 웹 배포 api에 보내면 오류 메시지가 나타나지 않지만 웹 서버의 파일은 롤백 파일로 대체되지 않는다는 것입니다. 추가 조사를 통해 웹 배포 API가 DeploymentChangeSummary 객체를 반환한다는 것을 알았습니다. 이 객체는 복사 된 바이트, 대체 된 파일 등의 모든 0을 표시합니다 (기본적으로 대체 된 것은 없지만 웹 배포는 오류가 없음을 나타냄). 전체 백업 파일을 동일한 코드로 전달하면 웹 서버의 파일이 대체되고 DeploymentChangeSummary는 복사 된 파일과 바이트를 표시합니다.
웹 사이트의 전체 백업은 롤아웃 할 수 있지만 부분 백업은 롤아웃 할 수없는 이유는 무엇입니까? 나는 이것이 수정 될 필요가 있을지도 모르기 때문에 백업에서 롤아웃으로 .xml 파일을 복사하는 것과 관련이 있다고 느낀다. 확실하지 않다. 또한 체크섬을 사용하지 않습니다.