모든 사람들이 2008 년에 저술 한 답을 내리고 있기 때문에 ... *
2014 년에 지금 어떻게하는지 알려 드리겠습니다. 이제 ASP.NET MVC를 사용하고 있으므로 더 이상 웹 사이트를 사용하지 않습니다.
로드 밸런서와 두 대의 서버가 필요하지는 않습니다. 유지 관리하는 모든 웹 사이트마다 3 대의 서버가 있지만 대부분의 웹 사이트에서 총 오버 킬이 발생하면 좋습니다.
또한 Microsoft의 최신 마법사에 너무 의존하지 않습니다. 너무 느리고 숨겨진 마술이 너무 많고 이름이 변경되기 쉽습니다.
우리가하는 방법은 다음과 같습니다.
생성 된 DLL을 'bin-pub'폴더에 복사하는 빌드 후 단계가 있습니다.
Beyond Compare (우수 **)를 사용하여 변경된 파일 (FTP를 통해 광범위하게 지원되므로)을 프로덕션 서버로 확인하고 동기화합니다.
웹 사이트에는 'bin-pub'의 모든 내용을 'bin'으로 복사하는 버튼이 포함 된 보안 URL이 있습니다 (먼저 백업을 수행하여 빠른 롤백을 사용하도록 설정). 이 시점에서 앱이 다시 시작됩니다. 그런 다음 ORM은 추가해야 할 테이블이나 열이 있는지 확인하고 작성합니다.
다운 타임은 밀리 초입니다. 앱을 다시 시작하는 데 1-2 초가 소요될 수 있지만 다시 시작하는 동안 요청이 버퍼링되므로 사실상 중단 시간이 없습니다.
변경되는 파일 수와 검토 할 변경 수에 따라 전체 배포 프로세스는 5 초에서 30 분 정도 걸립니다.
이렇게하면 전체 웹 사이트를 다른 디렉토리로 복사 할 필요없이 bin 폴더 만 복사하면됩니다. 또한 프로세스를 완벽하게 제어하고 무엇이 바뀌고 있는지 정확히 알 수 있습니다.
** 우리는 항상 배포중인 변경 사항을 신속하게 확인합니다. 마지막 순간의 두 번 확인으로 테스트 할 대상과 준비가 된 부분이 있는지 확인합니다. FTP를 통해 파일을 쉽게 비교할 수 있도록 Beyond Compare를 사용합니다. 나는 BC 없이는 이것을하지 않을 것입니다. 당신은 무엇을 덮어 쓰고 있는지 전혀 모릅니다.
* 아래로 스크롤하여 확인하십시오. (BTW 웹 사이트는 더 이상 빌드 속도가 느리고 컴파일 된 임시 파일 절반으로 심하게 충돌 할 수 있기 때문에 더 이상 권장하지 않습니다. 파일마다 더 민첩한 파일을 허용했기 때문에 과거에 사용했습니다. 사소한 문제를 해결하는 데 매우 빠르며 배포중인 내용을 정확하게 볼 수 있습니다 (비욘드 비교를 사용하는 경우-그렇지 않으면 잊어 버리십시오).