2012-11-28 3 views
2

우리는 현재 새로운 ASP.NET 프로젝트를 Octopus와 통합하기 위해 노력하고 있으며 누구나 Octopus를 사용하여 고전적인 ASP 사이트를 배포하려고했는지 궁금합니다.Octopus를 사용하여 고전적인 ASP 사이트 구축

나는 그것이 가능하다는 것을 알고 있으며, 이론적으로 그것을하는 법을 알고 있지만, 우리의 문제는 ASP 사이트가 거대하다는 사실로부터 발생합니다. 모든 비디오, 이미지 및 pdf의 총 크기가 합산 된 후 사이트의 무게는 3 기가 미만입니다. 따라서 TeamCity에 대한 변경 사항을 확인하고 NuGet 패키지가 생성되면 Octopus는 3 개의 기가비트 패키지를 2 개의 개별로드 균형 서버로 푸시합니다.

미디어 파일 (최소한 아직은)에 대해 공유 디렉토리 또는 cdn을 만들 수 없으므로 누구나 이걸 공격 할 수있는 좋은 방법을 말할 수 있습니까? 아니면 Octopus는 대형 ASP 사이트와 웹 배포에 좋은 솔루션이 아니겠습니까? 그렇다면 웹 배포를위한 백업 솔루션을 구현하여 오류를 롤백 할 수있는 방법은 무엇입니까?

미리 도움을 주셔서 감사합니다. 우리는 이러한 ASP 사이트를 MVC로 변환하고 있지만 시간이 좀 걸릴 것입니다. 그리고 그 작업이 끝날 때까지는 이들과 작업 할 수있는 방법을 찾아야합니다.

답변

2

ASP 사이트와 미디어 파일을 2 개의 별도 NuGet 패키지로 패키지해야합니다. 이렇게하면 모든 미디어 파일을 배포하지 않고도 ASP 코드를 업데이트하고 배포 할 수 있습니다 (코드 변경이 미디어보다 더 자주 발생한다고 가정).

구현 세부

  • 설정 인 TeamCity는 ASP 사이트를 패키지하고 미디어는 별도로 게시 NuGet 패키지를 파일.
  • Octopus 배포 단일 프로젝트의 배포 단계로 2 개의 NuGet 패키지 각각을 추가하십시오.
  • Octopus에서 새 릴리스를 만들 때 ASP 코드의 최신 패키지 버전과 이전에 릴리스 된 패키지 버전의 미디어 파일을 선택하십시오 .
  • 당신이 미디어 파일의 배포

  • 를 건너 상자를 확인하실 수 있습니다 릴리스를 배포 할 때 사용 낙지 변수 "OctopusWebSiteName는"지정이 미디어 파일 패키지 ASP 사이트의 하위 디렉토리에 배포해야합니다. ("기본 웹 사이트/미디어"와 유사) 변수는 특정 패키지로 범위가 지정 될 수 있으므로 해당 패키지를 배포 할 때만 적용됩니다.
+0

이것은 굉장합니다. 자세한 답변 해 주셔서 감사합니다. –

1

매번 모든 콘텐츠를 푸시해야합니까? 변경 사항을 적용 할 수 없습니까?

+0

TeamCity 및 Octopus의 배포 프로세스에 대한 제한된 지식은 Octopus가 TeamCity 저장소에서 NuGet 패키지를 가져 오게된다는 것입니다. NuGet 패키지에는 ASP 사이트의 전체 소스 (4GB)가 포함됩니다. 내가 틀렸어? –

관련 문제