2016-07-18 5 views
1

때때로 Azure 웹 역할에 배포 된 당사 웹 사이트에서 문제는 javascript 및 HTML의 작은 버그와 관련이 있습니다. 우리는 모든 웹 롤의 인스턴스로 가서이 JS 및 HTML 파일을 컴퓨터에 수정합니다.azure webroles에 패치 웹 사이트

하지만 중앙화 된 위치에서 패치하기 위해 파일을 다운로드하고 모든 하늘빛 웹 역할의 파일을 대체하는 자동화 된 방법을 찾고있었습니다. 웹 사이트에 ASP .net MVC를 사용하고 있습니다.

패키지에있는 패치로 웹 사이트를 재배포 할 수는 있지만 배포 시간이 오래 걸리는 것을 원하지 않습니다. 모든 하늘색 웹 역할에있는 콘텐츠를 대체하는 내부 WEB API를 통해 가능한지 알려주십시오.

+2

클라우드 서비스 웹 역할 대신 웹 응용 프로그램을 사용 해본 적이 있습니까? 배포가 더 쉽고 빠릅니다 (공용 저장소에서 직접 배포하거나 웹 배포를 사용하여 변경된 파일 만 업로드 할 수 있음). – gbellmann

+0

웹 APP에 대한 포인터를 보내 주셔서 감사합니다. 우리가 거기에 들어갈 수 있는지 알아보기 위해 노력할 것입니다. 우리는 지금 당장 Webservice를 사용하는 직원의 역할이 거의 없습니다. WEB App에서도 작업자 역할을 배포 할 수 있습니까? 한 가지 더 중요한 것은 WEB APP로 마이그레이션하는 데 많은 시간이 걸릴 것이므로 푸른 웹 롤에서이 패치를 수행 할 수 있습니까? –

+0

원하는 방식으로 클라우드 서비스에서 패치를 수행 할 수 없습니다. 마이그레이션과 관련하여 두 가지 옵션이 있습니다. 1) 웹 역할을 Web Apps로 마이그레이션하고 클라우드 서비스에서 작업자 역할을 유지할 수 있습니다. 2) 작업자 역할을 웹 작업 (동일한 웹 응용 프로그램 또는 다른 웹 응용 프로그램 내에서 독립적으로 확장하거나 축소 할 것인지 여부에 따라 다름)으로 마이그레이션 할 수도 있습니다. – gbellmann

답변

0

stackoverflow에서 많은 것을 파기 한 후 웹 사이트 시작시 주제를 만들고 코드에 주제를 등록하는 자체 솔루션을 만들었습니다. 웹 응용 프로그램에 패치를 적용하려면 Topic에 패치를 시작하라는 메시지를 보내면 웹 역할의 각 시스템이 주제에서 알림을 받고 패치를 시작합니다.패치 자체는 웹 저장소로 가서 파일을 다운로드하고 적당하게 파일을 교체하는 일은 매우 쉽습니다. 하늘색 유지 관리가 발생하면이 패치가 사라질 수 있습니다. 따라서이 상황에서 웹 사이트 시작시 패치 작업을 시작했습니다.

-2

클라우드 서비스 배포 패키지는 기본적으로 배포를 작성하고 구성하는 방법에 대한 지침이므로 느린 경향이 있습니다. 배치는 Azure에 레시피를 내놓을뿐만 아니라 (머신을 이동해야하는 경우 다시 사용할 수있을뿐만 아니라) 클라우드 서비스 용 VM을 빌드하는 레서피를 따릅니다. (WebRoles/WorkerRoles는 서비스로서의 플랫폼이므로 Virtual Machine Azure 제품을 사용하고 있지만 물리적 하드웨어의 VM에서 여전히 실행되는 것처럼 OS 및 인프라 수준에 대해 걱정할 필요가 없습니다.

당신이하고 싶은 일은 이미 요리법 (귀하의 클라우드 서비스 패키지)과 귀하의 배포가 이미 실행 및 실행 된 후에 업데이트하는 것입니다. 클라우드 서비스에서 그렇게하는 간단한 방법은 없습니다.

그러나 예, blob 저장소 또는 다른 중앙 집중식 위치에서 사이트 파일을 가져올 수있는 시작 스크립트를 만들 수 있습니다. 이는 응용 프로그램 (예 : 바이올린)이 업데이트를 찾는 방식과 비교하여 자신을 업데이트하고 바꾸는 방법을 알고 . 이런 종류의 기능을 사용하려면 우선 순위가 높은 사용자로 코드를 실행해야합니다. 시작 스크립트에 대한 좋은 점은 승격 된 사용자로 실행할 수 있다는 것입니다. 따라서 시스템에서 수행해야하는 모든 작업을 수행 할 수 있습니다. 실행을 위해 인스턴스를 다시 시작하십시오. 기본적으로 사이트를 업데이트 할 수있는 코드를 작성해야합니다. 이 링크는 도움이 될 수 있습니다 : https://azure.microsoft.com/en-us/documentation/articles/cloud-services-startup-tasks/

웹 애플리케이션 및 WebJob으로 마이그레이션 할 수있는 능력이 있다면, 해당 컴퓨팅 제품이 문제를 잘 해결해 주므로 조사하는 것이 좋습니다. 여기 는 웹 어플리케이션과 클라우드 서비스의 차이점 유용한 답변입니다 : What is the difference between an Azure Web Site and an Azure Web Role

+2

누군가가 한 서비스에서 다른 서비스로 옮기라고 말하면 * 대답이 아닙니다. (실제로 웹 앱으로 이전하는 것이 불가능할 수도 있습니다.) 또한 클라우드 서비스 배포는 제작 패키지가 아닌 * VM입니다. 사전 빌드 된 기본 VM 이미지에서 롤아웃 및 구성되는 배포 만 포함합니다. –

1

새로운 webrole 배포하는 2 가지 방법이 있습니다 :

  • 재배포
  • 인플레 이스 업데이트

첫 번째는 하나는 가장 느린 것으로, 새로운 VM이 부팅됨을 의미합니다.

내부 업그레이드 사용 (https://azure.microsoft.com/en-us/documentation/articles/cloud-services-update-azure-service/) 새 응용 프로그램 패키지가 새 드라이브 (일반적으로 E :가 아닌 F :)에 탑재되고 IIS 웹 사이트가 새 드라이브로 스왑됩니다.

이전 포털로 이동하여 새 애플리케이션 패키지를 업로드하면됩니다. 몇 초/분 만에 업데이트가 완료됩니다.

+0

신청서 패키지를 업로드 할 곳을 더 설명해 주시겠습니까? 나는 cspkg를 업로드하려고 시도했는데 매회 30 분 이상 오래 걸린다. 나는 내 서비스로 가서 이전 포털의 "업데이트"버튼을 누르고 패키지 및 구성을 업로드합니다. –

+0

클라우드 서비스에는 어떤 것이 포함되어 있습니까? 구성의 일부분을 공유하십시오. 시작 작업을 사용하여 구성 요소를 설치합니까? (거의) 빈 웹 사이트에서도이 기능을 사용해 보셨습니까? 꽤 빠르다. –

+0

내부 제품이므로 구성을 공유 할 수 없습니다. 우리는 시작 작업을 사용하여 많은 것을 설치하고 배치를 업데이트하는 데 많은 시간이 걸리는 작업자 역할에도 캐싱을 사용합니다. –