2014-07-15 4 views
5

저는 MSRuild와 WebDeploy를 사용하여 azur에 성능 프로파일 링을 위해 NewRelic을 사용하는 ASP.NET MVC 앱을 자동으로 배포했습니다.Azure deloyment with New Relic

퍼블리시 프로필에 언급 된대로 배포 용으로 waws-prod-blu-001.publish.azurewebsites.windows.net:443 URL을 사용했습니다. 또한 배포 전에 내 웹 사이트를 중지하고 NewRelic이 일부 로그 파일을 잠그면 배포가 실패하므로 시작하십시오. 이것은 in NewRelic documentation을 언급 한 공식적인 해결 방법입니다.

일반적으로 배포하는 데 2-3 분이 걸립니다. 그러나 마지막 날 배포는 30 분 이상 걸리고 때때로 실패합니다. 새로운 게시 프로파일을 다운로드하고 WebDeploy URL이 KUDU url ({my-app} .scm.azurewebsites.net : 443)으로 변경되었음을 알았습니다. 업데이트 후 일반적으로 2-3 분의 배포가 소요됩니다. 그러나 웹 사이트를 종료 할 때 KUDU도 액세스 할 수 없으며 배포 할 수 없습니다.

내 질문 : NewRelic이 배포 중에 중지되어야하고 KUDU가 배포를 위해 웹 사이트를 실행하도록 요구할 때 KUDU를 통해 NewRelic을 사용하는 Azure 웹 사이트의 배포를 어떻게 수행 할 수 있습니까? 다른 배포 방법도 사용할 수 있습니다. //waws-prod-blu-001.publish.azurewebsites.windows :

이미 시도 다음 물건 : 그것은 (FTPS 같은 URL을 사용하기 때문에

1) FTP를 통해 배포하는 것은 매우, 매우 느립니다 .그물/).

2) 배포 전에 웹 사이트를 복원해도 도움이되지 않습니다. NewRelic은 여전히 ​​일부 로그 파일을 잠급니다. 애저 포털에서

감사합니다,

-Petro

+0

흥미로운 문제가 있습니다. NewRelic을 "Always On"옵션을 지원하지 않고 그냥 작동하지 않기 때문에 bin을 사용해야했습니다. "항상 켜기"옵션에 액세스 할 수있는 경우 배포하기 전에 사이트 구성 스위치를 "항상 켜기"로 변경 (이 경우 NewRelic이 비활성화 됨), 배포를 수행하고 "항상 켜기"를 해제 할 수 있습니다. 그러나 이것은 해킹이므로 대답으로 제출하지 마십시오. – trailmax

+0

Azure가 이전 배포가 느린 이유를 지원하는지 확인하십시오. NewRelic에 티켓을 지원하면 왜 파일을 잠그고 방지 할 수 있습니까? 대답 중 하나는 실용적인 솔루션을 제공 할 것입니다.) – trailmax

답변

10

당신은 응용 프로그램 설정을 0으로 COR_ENABLE_PROFILING 및 저장 타격을 변경하여 프로파일 러 DLL 파일을 언로드 푸른 강제 할 수 있습니다. 그러면 IIS를 다시 시작하고 사용자에게 오류가 표시되지 않고 DLL을 언로드합니다 (사이트에 도달하는 데 지연이 있습니다). 그런 다음 잠금 문제없이 진행해야하는 deploy를 실행할 수 있습니다. 배포가 완료되면 앱 설정이 1로 돌아 갔는지 확인하십시오.

Azure Powershell에서도이 작업을 수행 할 수 있습니다.

+0

방금이 문제에 부딪 혔고이 솔루션이 저에게 효과적이었습니다. 내 오류 : '웹 배포는 외부 프로세스에 의해 잠겨 있기 때문에'NewRelic.Collections.dll '파일을 대상에서 수정할 수 없습니다.' –

+0

Cameron처럼 NewRelic.Collections.dll 파일이 있기 때문에 배포 할 수 없습니다. 용도. 안타깝게도 앱 설정을 추가하고 준비 슬롯을 중지/시작/다시 시작해도 아무런 차이가 없습니다. 내 배치가 성공하기 위해 준비 슬롯을 삭제하고 다시 만들어야했습니다. –

0

최근에 사이트를 중단해도 Kudu가 계속 실행되도록 변경했습니다. 따라서이 문제를 피하는 더 간단한 방법은 단순히 사이트를 중지하고 게시하고 사이트를 다시 시작하는 것입니다.

+2

Twitter에서 언급했듯이 사이트를 중지해도 잠금이 해제되지 않습니다. Azure 웹 사이트를 배포하는 동안 나는이 문제를 여러 번 다루었으며 매번 머리카락을 찢어 버렸습니다. 표시된 대답은 일관되게 적용된 유일한 해결책입니다. – AdvancedREI

+0

관련 토론 : https://github.com/projectkudu/kudu/issues/1334 –

+0

사이트를 멈추는 것조차 어느 정도 시간이 걸립니다. – Co7e

관련 문제