Đây là một dự án web được viết bằng Java.
Vì vậy, tôi đang viết bản dựng và các kịch bản triển khai. Để tạo bản dựng, tôi đã sử dụng ant. Việc xây dựng liên tục được thực hiện với Jenkins.
Bản dựng tạo ra 3 tạo tác khác nhau:
- Hồ sơ chiến tranh
- Một zip với bố trí
- Một zip với hình ảnh
Cho đến nay, rất tốt, nhưng bây giờ tôi cần phải viết kịch bản triển khai, nên:
- Triển khai chiến tranh (tạo tác 1) cho tomcat chạy trên máy chủ 1
- Đặt tạo phẩm 2 vào máy chủ 1 trong một thư mục cụ thể
- Đặt tạo phẩm 3 vào máy chủ 2 trong một thư mục cụ thể
Vì vậy, tôi đã nói chuyện với đồng nghiệp của tôi và ông nói rằng chúng ta cũng nên tạo một artifact (có thể deploy.xml ) mà triển khai những hiện vật khi được đặt tại máy chủ chính xác.
Vì vậy, sẽ có một kịch bản khác, đó sẽ:
- Tải về các đồ tạo tác của jenkins
- scp đến từng máy chủ và đặt tệp triển khai vào đó
- gọi từ xa tệp XML
Điều khiến tôi hơi khó chịu là hành động có tệp triển khai như là một tạo phẩm xây dựng. Động lực đằng sau điều này là có thể thực hiện triển khai mà không cần có quyền truy cập vào kho lưu trữ của VCS, do đó, một bản dựng sẽ được khép kín, tức là mọi bản dựng chỉ có thể được sản xuất với những gì được tạo bởi Jenkins.
Các kịch bản triển khai nên được đặt ở đâu? Họ có nên chỉ ở VCS hay họ cũng nên xây dựng các tạo tác?