2013-07-06 54 views
12

Tôi nhận được lỗi sau:Lỗi Triển khai New Relic instrumented từ trang này sang Azure từ Github & VS.NET

Error: The process cannot access the file 'C:\DWASFiles\Sites\mywebsitename\VirtualDirectory0\site\wwwroot\newrelic\NewRelic.Agent.Core.dll' because it is being used by another process. 

Trong lệnh triển khai Chạy ... log file khi cố gắng triển khai một trang web Azure từ Github .

Sẽ đánh giá cao bất kỳ gợi ý nào về những gì có thể gây ra điều này.

UPDATE: Hóa ra đây là cũng thất bại khi xuất bản trực tiếp từ VS.NET như sau:

1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4196,5): Warning : An error was encountered when processing operation 'Create File' on 'NewRelic.Agent.Core.dll'. 
1>Retrying operation 'Update' on object filePath (mywebsitename\newrelic\NewRelic.Agent.Core.dll). Attempt 1 of 2. 
1>C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4196,5): Error : Web deployment task failed. ((06/07/2013 23:54:58) An error occurred when the request was processed on the remote computer.) 

này đang làm việc trước và tôi không chắc chắn lý do tại sao nó đã có thể dừng lại.

+0

bạn nên đánh dấu một trong các câu trả lời là chính xác –

Trả lời

3

Đây là sự cố đã biết với tác nhân New Relic .NET dành cho Azure Websites khi thực hiện nâng cấp tác nhân. Cách giải quyết là dừng trang web để giải phóng dll, hoàn thành triển khai và sau đó khởi động lại cá thể.

https://newrelic.com/docs/dotnet/azure-web-sites#h2-1

+0

Cảm ơn - Tôi đã cố gắng dừng trang web không thành công. Cuối cùng tôi tạo ra một trang web sạch mới trong Azure và bắt đầu lại bây giờ có vẻ như tôi có thể redploy ok. – chrisb

+0

Có vẻ như có thể mất một lúc cho đến khi tệp nhật ký được phát hành, ngay cả sau khi bạn ngừng trang web. Tôi trải nghiệm sự chậm trễ lên đến 15 phút. –

13

NewRelic khuyên dừng trang web để dỡ bỏ các tập tin và cho phép việc triển khai phải đi qua. Thay vào đó, bạn có thể đặt COR_ENABLE_PROFILING thành 0 trong cài đặt ứng dụng của mình trên tab cấu hình để tạm thời tắt tính năng định cấu hình, sau đó cho phép bạn tiếp tục triển khai trong khi vẫn để trang web hoạt động trong suốt.

+4

Bất cứ ai có bất kỳ ý tưởng làm thế nào để tự động hóa điều này? Tôi có CI xây dựng từ BitBucket và muốn tự động thay đổi cài đặt môi trường đó. – JimmyBoh

+0

Có thể tự động hóa nó bằng cách sử dụng Powershell, mà tôi đang xem xét ngay bây giờ cos điều này là gây phiền nhiễu cho tôi quá. – sh1rts

+0

Chúng tôi đặt COR_ENABLE_PROFILING thành 0 và sau đó nhận được điều này: Lỗi tác vụ triển khai Web không thành công. (Web Deploy không thể sửa đổi tệp 'Microsoft.CodeAnalysis.CSharp.dll' trên đích vì nó bị khóa bởi một tiến trình bên ngoài. Bất kỳ ý tưởng nào về việc này bắt nguồn từ đâu? Nó chỉ mới bắt đầu sau khi cài đặt APR NewRelic. tự dừng trang web để triển khai từ Visual Studio :-( – GGleGrand

8

Thay vì dừng trang web bạn có thể tạm thời tắt giám sát New Relic qua tab Configure trên manage.windowsazure.com:

Configure> phân tích phát triển> chọn "OFF"> Save

Triển khai

Định cấu hình> phân tích nhà phát triển> chọn "ADD-ON"> Chọn Tiện ích bổ sung từ trình đơn thả xuống> Lưu

Làm việc cho tôi, cả với triển khai thường xuyên từ VS và xây dựng tự động từ VSO.

0

Không có câu trả lời nào trong số này phù hợp với tôi nữa. Tôi có kế hoạch trang web cấp cơ bản Azure, lưu trữ nhiều trang web thực tế.

Nếu tôi không ngăn chặn các trang web, tôi nhận được lỗi nêu trên (newrelic.agent.core.dll đang được sử dụng) ...

Nếu tôi làm ngăn chặn các trang web (hoặc tất cả trong số họ) , Tôi gặp lỗi khi nói rằng điểm cuối xuất bản không khả dụng.

Nếu tôi đi đến tab cấu hình và vô hiệu hóa các AddOn, chúng tôi vẫn nhận được lỗi nêu trên (newrelic.agent.core.dll đang được sử dụng) ...

Khá nhiều chúng tôi chỉ tái xuất lặp đi lặp một lần nữa với các hoán vị khác nhau ở trên cho đến khi hoạt động. Tôi mất hàng giờ ngày hôm trước, đã cho tôi 10 phút hôm nay.

0

Nếu bạn đang sử dụng webdeploy, khi đó bạn có thể định cấu hình cài đặt webdeploy để nó bỏ qua tệp. Tuy nhiên, nếu bạn làm điều đó, bạn sẽ phải tự triển khai bất kỳ bản cập nhật nào cho tác nhân di tích mới.

Tôi đã có một vấn đề tương tự với tập tin di tích log mới bị khóa, và giải quyết nó bằng cách:

  1. Di chuyển các tập tin di tích log mới một thư mục con của thư mục gốc web (ví dụ \ newreliclogs)
  2. Thêm 2 dòng vào tập lệnh PowerShell của tôi đã định cấu hình lệnh bỏ qua để bỏ qua toàn bộ thư mục đó. ví dụ. (Nơi destBaseOptions là loại Microsoft.Web.Deployment.DeploymentBaseOptions

    $ skipDirective = new-object Microsoft.Web.Deployment.DeploymentSkipDirective ("NewRelicLog", "objectName = dirPath, absolutePath =. * \ Newreliclogs $")

    $ destBaseOptions.SkipDirectives.Add ($ skipDirective)

Tùy thuộc vào cách bạn đang sử dụng webdeploy, cấu hình được thực hiện hơi khác nhau, tôi đã sử dụng liên kết sau đây để giúp tôi mảnh nó với nhau:

Và tôi đã sử dụng các kịch bản PowerShell từ Octopus Thư viện triển khai tại https://library.octopusdeploy.com/#!/step-template/actiontemplate-web-deploy-publish-website-(msdeploy).

1

Không thực sự là một giải pháp nhưng nhiều hơn một công việc xung quanh, trong hộp thoại xuất bản xem trước các thay đổi và bỏ chọn tệp NewRelic.Agent.Core.dll để nó không được xuất bản.