2016-01-05 17 views
11

Tôi đang tận hưởng công cụ Xây dựng mới trong Visual Studio Online. Cho phép tôi làm hầu hết mọi thứ mà tôi làm máy chủ xây dựng cục bộ của mình. Nhưng một điều mà tôi đang thiếu là kiểm tra cơ sở dữ liệu tích hợp: đối với mỗi lần chạy xây dựng, tôi tạo lại cơ sở dữ liệu thử nghiệm từ các tập lệnh và chạy các kiểm tra DB đối với nó.Kiểm tra tích hợp cơ sở dữ liệu trong Visual Studio Online

Trong Visual Studio Online Tôi dường như không thể tìm thấy bất kỳ cá thể cơ sở dữ liệu nào có sẵn cho nhu cầu của mình.

Tôi đã thử tạo cơ sở dữ liệu Azure SQL (qua PowerShell) cho mỗi lần chạy xây dựng và sau đó xóa nó sau khi quá trình xây dựng hoàn tất. Nhưng phải mất mãi mãi (so với phần còn lại của quá trình xây dựng) để tạo ra một cơ sở dữ liệu. Và ngay cả khi các kịch bản PowerShell được thực hiện, cơ sở dữ liệu chưa sẵn sàng chấp nhận yêu cầu - tôi cần liên tục kiểm tra xem nó có thực sự sẵn sàng hay không. Vì vậy, kịch bản này trở nên quá phức tạp và không đáng tin cậy.

Có các tùy chọn khác để thực hiện các kiểm tra tích hợp cơ sở dữ liệu (SQL Server) trong Visual Studio Online không?

Cập nhật: Tôi nghĩ rằng tôi không rõ ràng những gì tôi cần - Tôi cần một phiên bản SQL Server miễn phí (rất rẻ) để kết nối với chạy trên đại lý xây dựng trong VSO. Một cái gì đó như SQL Express hoặc SQL CE hoặc LocalDB, nơi tôi có thể kết nối và tạo lại cơ sở dữ liệu để chạy thử nghiệm C#. Việc tạo lại cơ sở dữ liệu hoặc chạy thử nghiệm không phải là một vấn đề, có một chuỗi kết nối hợp lệ là một vấn đề.

Cập nhật tháng 10 năm 2016:I've blogged về cách tôi làm thử nghiệm hội nhập trong VSTS

+0

Không liên quan đến Visual Studio, nhưng: bạn đã thử Snapshots? Bạn tạo cơ sở dữ liệu 1 lần, tạo ảnh chụp trước khi thử nghiệm, sau đó trên mỗi lần chạy, bạn 'RESTORE DATABASE [dbname] FROM DATABASE_SNAPSHOT' – Ingaz

+0

@Ingaz Để chụp nhanh, tôi cần một cơ sở dữ liệu để chạy trên một thứ gì đó - một máy chủ. Đó là những gì tôi đang tìm kiếm - một máy chủ dB trên một ví dụ xây dựng – trailmax

Trả lời

18

Máy chủ xây dựng TFS đi kèm với MSSQL Server 2012 và MSSQL Server 2014 LocalDBs được cài đặt sẵn.

Nguồn:TFS Service - Software on the hosted build server

Vì vậy, chỉ cần đặt sau một lót vào sau xây dựng sự kiện của giải pháp của bạn để tạo ra một MYTESTDB LocalDB dụ cho nhu cầu của bạn. Điều này sẽ cho phép bạn kết nối với (LocalDB)\MYTESTDB chạy thử nghiệm tích hợp cơ sở dữ liệu tốt.

"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create "MYTESTDB" 12.0 -s 

Nguồn:SqlLocalDB Utility

+0

Bây giờ chúng ta đang nói chuyện !! Cảm ơn vì điều này - đó là chính xác những gì tôi đang tìm kiếm. Tôi sẽ thử nó vào cuối tuần và chấp nhận câu trả lời của bạn nếu mọi thứ hoạt động. – trailmax

+0

Tôi đã nhìn thấy danh sách phần mềm được cài đặt này, nhưng không chắc chắn về cách truy cập SQL Server. Có tài liệu nào ở đâu đó không? Tôi đã đọc blog được liên kết nhưng không cụ thể với VSO và các chi tiết khác có sẵn. – trailmax

+1

Theo như tôi biết không có tài liệu như vậy, bạn phải sử dụng tài liệu của phần mềm cụ thể. "SqlLocalDB tạo" chỉ là cách bạn thường làm việc với LocalDB. –

1

Có một "Redgate SQL CI" mở rộng cho VSTS trên thị trường bạn có thể muốn thử. Xem liên kết này để biết chi tiết:

Trong phần mở rộng, có bốn hành động có sẵn:

• xây dựng - xây dựng cơ sở dữ liệu của bạn vào một gói NuGet từ cơ sở dữ liệu kịch bản thư mục trong kiểm soát nguồn

• Kiểm tra - chạy thử nghiệm tSQLt của bạn dựa vào cơ sở dữ liệu

• Đồng bộ hóa - đồng bộ hóa gói với cơ sở dữ liệu tích hợp

• Xuất bản - xuất bản gói lên luồng NuGet

+0

Cảm ơn câu trả lời, Eddie. Nhưng đây không phải là những gì tôi cần. Tôi thực sự cần cơ sở dữ liệu để chạy thử nghiệm. Tôi có tất cả các mã/cơ sở hạ tầng để chạy thử nghiệm. – trailmax

0

Bạn nên đẩy thử nghiệm tích hợp (bất kỳ thứ gì cần một ứng dụng của bạn) để chạy trong môi trường như một phần của đường ống phát hành.

Trong bản dựng của bạn, chỉ cần thực hiện các phép thử biên dịch và đơn vị. Nếu điều đó cạnh tranh bạn nên kích hoạt một bản phát hành và là một phần của bản phát hành của bạn, bước đầu tiên của bạn là triển khai cơ sở dữ liệu của bạn đến một máy chủ Azure.

Thay vì cố gắng sử dụng SQL Azure, bạn có thể tạo máy ảo trong Azure đã tồn tại đã cài đặt máy chủ SQL. Sử dụng kịch bản từ xa để triển khai cơ sở dữ liệu và thực hiện các thử nghiệm của bạn.

Ngay cả khi bạn không sử dụng công cụ phát hành để giải phóng điều này sẽ có hiệu quả cho bạn.

+0

Tôi xin lỗi, đây không phải là câu hỏi A-B. Kiểm tra DB là một phần của đường dẫn phát hành của tôi và có một máy ảo không làm cho nó rẻ hơn hoặc nhanh hơn để thực thi. Tôi đã bắt đầu từ một máy ảo với SQL Server, sau đó chuyển sang một Azure SQL và cả hai kịch bản này không hoàn toàn làm việc cho dự án này. – trailmax

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