Tôi đang trong quá trình xây dựng một công ty từ đầu (Tomcat + Spring Rest + Java) nên chúng tôi có sự sang trọng để làm một số điều đúng (hoặc trong danh sách không lặp lại những sai lầm trong quá khứ của chúng tôi) mục tiêu chúng tôi muốn đạt được là khả năng tự động xây dựng, thử nghiệm (đơn vị, tích hợp) & triển khai.Làm thế nào để tiếp cận CI
Nền tảng của chúng tôi được xây dựng với một trang web giao diện HTML/JS tĩnh được phục vụ với NGiNX và một vài máy chủ API (các ứng dụng khác nhau), một số được tiếp xúc và một số trong số đó chỉ có thể truy cập từ bên trong trang trại. .
Tôi đã chọn TeamCity làm máy chủ CI vì tôi hơi quen thuộc với nó và tôi đã có trải nghiệm tuyệt vời cho đến nay với tất cả các sản phẩm của Jetbrain.
cho đến nay tôi đã xác định hai xây dựng cấu hình
sanity Phát triển: Kiểm tra ra từ git, chạy DB kịch bản để chuẩn bị cơ sở dữ liệu, thực hiện các mục tiêu maven sạch cài đặt (do bộ testng của chúng tôi đang được thực hiện) , thực hiện mã vùng và phân tích mã tĩnh Cấu hình này đang thực thi và rất tuyệt.
tích hợp: Kiểm tra ra từ git, chạy DB kịch bản để chuẩn bị cơ sở dữ liệu, thực hiện các mục tiêu maven sạch cài đặt (do bộ testng của chúng tôi đang được thực hiện)
Bây giờ tôi đã đạt đến một phần vấn đề, Cấu hình của chúng tôi cần được triển khai cho các máy khác nhau trước khi thử nghiệm Tích hợp của chúng tôi có thể bắt đầu, tôi cũng muốn xây dựng nó theo cách mà tôi có thể thêm cấu hình thứ ba sẽ triển khai để sản xuất trực tiếp sau khi tích hợp đã trôi qua vì vậy về cơ bản nó giống như cấu hình thứ hai nhưng thêm một số chức năng như lấy một ứng dụng ra và đặt nó trở lại trực tuyến sau khi triển khai một cách duyên dáng, tôi đã thấy phương pháp tiếp cận eral về làm thế nào để làm điều này từ maven hàng hóa, vỏ script, vải vv ...
là có một cách được đề nghị về cách tiếp cận bản vẽ này từ kinh nghiệm trong quá khứ của bạn? cũng không rõ cách tốt nhất để chạy thử nghiệm Tích hợp bao gồm một số ứng dụng được triển khai, tôi đã thấy nhiều ví dụ về cầu nối nhúng vv .. nhưng điều đó chỉ tốt cho một ứng dụng hoặc một cấu hình rất đơn giản khi bạn cần 3-4 ứng dụng được triển khai trước khi bạn có thể bắt đầu thử nghiệm, cách tốt nhất để làm điều này là gì? thêm một dự án khác dành riêng cho thử nghiệm tích hợp và thực hiện một mục tiêu maven khác với một cấu hình cụ thể sau khi triển khai kết thúc?
BTW - Triển khai AWS
Xin cảm ơn Guys.
Trông giống như cách tiếp cận tốt và được xác định rõ ràng, bạn mất bao nhiêu thời gian để triển khai? và bạn có thể có thêm một chút về mặt kỹ thuật cụ thể về cách bạn thực hiện các thử nghiệm selen (một dự án khác không?) và triển khai? – Amnon
Như tôi đã nói - 'Tôi đã bắt đầu thực hiện' - vì vậy, điều này chưa hoàn thành - tôi sẽ cập nhật câu trả lời của mình với một số thông tin khác. – blank
Bạn đã bao giờ hoàn thành việc này chưa? sẽ rất thú vị để xem cách bạn đạt được nó. –