2016-02-13 12 views
8

Tôi đã có vào một trang web và một dự án webjob trong cùng sln:Triển khai trang web xanh và webjobs trong cùng một sln sử dụng VSO - Lỗi - Chỉ có thể có một

  • Sritt (Trang web)
  • Sritt.Webjob

trong thuộc tính của Sritt theres một webjobs-list.json với các thiết lập sau:

"WebJobs": [ 
    { 
     "filePath": "../Sritt.WebJob/Sritt.WebJob.csproj" 
    } 

Tôi đã cấu hình bằng cách VSTS xây dựng như thế này (với buildsystem mới):

Solution: **\*.sln  
MSBuild Args: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.stagingDirectory)" 

xây dựng trong VSTS mang lại cho tôi những cảnh báo sau đây:

C:\a\1\s\packages\Microsoft.Web.WebJobs.Publish.1.0.9\tools\webjobs.console.targets(149,5): warning : WebJob schedule for SrittWebJob will not be created. WebJob schedules can only be created when the publish destination is an Azure Website [C:\a\1\s\Sritt.WebJob\Sritt.WebJob.csproj] 

Và các lỗi sau:

packageFile= Find-Files -SearchPattern C:\a\1\a\**\*.zip 
packageFile= C:\a\1\a\Sritt.WebJob.zip C:\a\1\a\Sritt.zip 
Found more than one file to deploy with search pattern 'C:\a\1\a\**\*.zip'. There can be only one. 

Làm cách nào để triển khai cả trang web và webjob? Tôi có cần chia chúng thành các giải pháp khác nhau không?

Trả lời

20

Dường như bạn đang sử dụng tác vụ "Triển khai ứng dụng web Azure" để triển khai dự án. Bạn không cần phải chia chúng thành các giải pháp khác nhau nhưng bạn cần triển khai chúng trong các tác vụ riêng biệt.

Vì vậy, bạn cần thêm một nhiệm vụ "Triển khai ứng dụng web Azure" khác trong khi bạn xây dựng định nghĩa. Cài đặt này gần như giống nhau cho hai tác vụ này, ngoại trừ phần "Gói Triển khai Web": Một là "$ (build.artifactstagingdirectory) \ ** \ Sritt.zip" và một số khác là "$ (build.artifactstagingdirectory) \ * * \ Sritt.WebJob.zip ".

+0

Cảm ơn bạn đã khắc phục sự cố. Cảm ơn cũng đã dành thời gian để viết ra các thiết lập thực tế để sử dụng :-) – Larsi

+0

Xin chào một lần nữa - đây có thể là một câu hỏi mới, chỉ trong trường hợp nó dễ dàng: Sau khi triển khai tôi không thể mở trang web, tôi nhận được trang màu vàng, để bật gỡ lỗi - nhưng nó đã được bật. Có vẻ như toàn bộ trang web sẽ ngừng hoạt động khi tôi thêm dự án webjob. Loại bỏ các dự án và tái xuất bản everythin hoạt động trở lại. Bất kỳ ý tưởng? – Larsi

+0

@Larsi Bạn có thể mở một trường hợp mới để bao gồm thêm chi tiết như dự án bạn đã xóa, trang nào bạn nhận được sau khi triển khai không? –

1

Lỗi không liên quan đến việc xuất bản WebJob, nhưng để xuất bản thay đổi Azure Scheduler. Nói chung, cấu hình Azure lịch biểu từ msbuild được biết là có vấn đề và không còn được đề nghị.

Thay vào đó, cách tiếp cận được đề xuất là sử dụng lịch biểu dựa trên cron WebJobs mới, không có các vấn đề đó. Xem docs để biết thêm chi tiết về cách thiết lập này (nó khá đơn giản).

+0

Cảm ơn bạn đã xem xét điều này. Tôi đang chạy ở chế độ "Được chia sẻ", tài liệu cho biết cron chỉ khả dụng với Chuẩn hoặc Đặc biệt. Tôi không chắc chắn về ý nghĩa của bạn bằng "... nhưng đối với việc xuất bản thay đổi Azure Scheduler." Bạn có nghĩa là "webjob-publish-settings.json" không? – Larsi

+0

Nó yêu cầu cơ bản hoặc cao hơn (doc nói tiêu chuẩn hoặc cao nhưng không chính xác), do đó, nó sẽ không hoạt động trong chế độ chia sẻ. –

+0

Khi sử dụng bộ lập lịch Azure, quá trình xuất bản VS thực hiện hai việc rất khác nhau. Đầu tiên, nó xuất bản các công việc Web cho dịch vụ ứng dụng Azure. Thứ hai nó cấu hình Azure Scheduler. Làm rõ của tôi là lỗi bạn nhận được liên quan đến phần Azure Scheduler và không phải là phần WebJob. –

Các vấn đề liên quan