Chúng tôi muốn thiết lập một dịch vụ tích hợp liên tục (CI) cho dự án của chúng tôi. Dịch vụ CI đó sẽ kiểm soát tất cả các khía cạnh của vòng đời dự án, bao gồm cả việc triển khai.
Đó là, chúng tôi muốn một tác nhân CI ở mỗi lần lặp để có một hệ thống sạch (cụ thể là Ubuntu Server), triển khai dự án của chúng tôi ở đó và chạy thử nghiệm.
Chúng tôi có thể sẽ tự viết dịch vụ CI, từ đầu, vì hệ sinh thái của chúng tôi khá bất thường. Câu hỏi là: làm thế nào để cung cấp hiệu quả hệ thống đá phiến sạch cho mỗi lần lặp CI?
Triển khai dự án cài đặt một vài gói Debian, cấu hình một số trang nginx và cũng cài đặt một số gói trong trình quản lý gói dành riêng cho ngôn ngữ thực hiện (LuaRocks), trên toàn hệ thống. Không có gì xâm phạm hơn thế (tôi tin). Vì vậy, điều quan trọng hơn là có thể thiết lập một bảng xếp hạng nhanh (trong vòng một phút trên phần cứng hiện đại, nhanh hơn - tốt hơn) hơn là đảm bảo sự cách ly và sạch tuyệt đối.
Tôi thấy hai cách để làm những gì chúng ta cần:
- Hoặc là thiết lập một nhà tù của một số loại (như lxc, có thể).
- Hoặc cài đặt một số máy ảo có thể chụp ảnh nhanh và sử dụng chúng.
Nhưng tại thời điểm này tôi không có đủ thông tin để quyết định.
Bạn sẽ khuyên gì? Còn lựa chọn nào khác không? Bất kỳ tên công cụ cụ thể?
Lưu ý: Dịch vụ CI sẽ được chạy bên trong máy khách Citrix XenServer. Giải pháp trả phí là OK nếu giá cả hợp lý. (Thông thường chúng không hợp lý trong lĩnh vực này.) Các giải pháp CI từ xa không ổn.