2017-10-11 43 views
11

Tôi đã tạo ứng dụng ASP.NET Core Web API bằng Visual Studio 2017 (Community Edition). Tôi có thể xuất bản thành công lên Dịch vụ ứng dụng Azure bằng Visual Studio.CI/CD của API ASP.NET Core Web sử dụng VSTS

Tôi hiện muốn thiết lập CI/CD bằng VSTS. Tôi đã sử dụng tùy chọn 'Định cấu hình liên tục phân phối' từ Visual Studio đã tạo một dự án trong VSTS và tạo ra một định nghĩa xây dựng. Tôi đã phải tạo một định nghĩa xây dựng mới dựa trên mẫu 'ASP.NET Core' trong VSTS để tránh lỗi khôi phục Nuget. Giải pháp hiện nay được xây dựng và thử nghiệm đang chạy nhưng 'Xuất bản' nhiệm vụ hoàn thành với một warning-

##[warning]No web project was found in the repository. Web projects are identified by the presence of either a web.config file or wwwroot folder in the directory. 

Các 'Xuất bản Artifact' nhiệm vụ có một cảnh báo tương tự -

##[warning]Directory 'd:\a\1\a' is empty. Nothing will be added to build artifact 'drop'. 

Và rõ ràng, xây dựng không tạo ra bất kỳ hiện vật nào.

Tôi có cần thêm bất kỳ tác vụ tạo nào vào mẫu bản dựng ASP.NET Core mặc định không? Làm cách nào để xuất bản API Web của tôi sang Azure bằng VSTS?

Trả lời

18

Như thông điệp cảnh báo, kho của bạn dường như không có dự án web. Vì vậy, bạn nên bỏ chọn các Xuất bản dự án web tùy chọn trong tác vụ xuất bản .NET Core và chỉ định .csproj trong tùy chọn dự án của bạn.

enter image description here

Và bạn cũng có thể tìm thấy những thông điệp gợi ý cho Xuất bản dự án Web tùy chọn như sau:

Nếu đúng, nhiệm vụ sẽ cố gắng tìm ra các dự án web trong kho và chạy lệnh publish trên chúng. Các dự án web được xác định bởi sự hiện diện của tệp web.config hoặc thư mục wwwroot trong thư mục .

+2

Tôi có lỗi này, lõi dotnet 2. Tôi không có web.config (thay vào đó tôi có tệp appsettings.json) và thấy rằng tôi có thể làm việc xung quanh nó bằng cách đảm bảo thư mục wwwroot nằm trong kiểm soát nguồn . Trong trường hợp này, trong GitHub, tôi phải tạo một tệp trống trong wwwroot để GitHub nhận thư mục (vì một số lý do GitHub không thích các thư mục trống). – Sam

+0

Tôi có hai bản dựng gần giống nhau, cả hai đều là các dự án API và cả hai đều không có tệp web.config. Nhưng trong một trong các dự án API, nó sẽ không tạo ra vật phẩm nén cho đến khi tôi áp dụng gợi ý này!?!? – reckface

+0

Đã hoạt động: bước Xuất bản -> Dự án: **/*. Csproj –

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