Tổ chức hiện tại của mã và cấu hình mà bạn mô tả được cấu trúc bởi các giải pháp kỹ thuật liên quan. Đây là một thiết kế tồi sẽ thêm rất nhiều chi phí trong hoạt động bảo trì của chúng tôi và cũng sẽ thêm rất nhiều bẫy theo cách của chúng tôi. Thay vào đó, tổ chức đó nên được cấu trúc xung quanh các đồ tạo tác chúng tôi đang triển khai.
Lý do cho điều này là vì chúng tôi muốn xem xét các đồ tạo tác ( ví dụ hình ảnh docker hoặc gói phần mềm) làm đối tượng của các động từ sau:
- xây dựng
- kiểm tra
- triển khai
để xem xét một tập hợp tối thiểu các tác vụ tự động mà chúng tôi muốn thực hiện. Nếu chúng ta muốn thay đổi điều gì đó về cách triển khai động từ kiểm tra, bạn có thể dễ dàng truy cập thư mục tương ứng với vật phẩm đó trong kho lưu trữ thích hợp và sau đó khám phá các mục tự động hóa cụ thể của jenkins cần được cập nhật. Thay vào đó, nếu các công thức tự động hóa được cấu trúc xung quanh các giải pháp kỹ thuật, thì chúng ta cần tìm ra màu xanh mà jenkins có liên quan đến các quy trình thử nghiệm và tìm thấy ở đó các vật phẩm tự động hóa liên quan. Trong các tình huống phức tạp, tổ chức xung quanh các giải pháp kỹ thuật thực hiện cập nhật rất khó khăn, bởi vì chúng tôi phải biết một tiên nghiệm tất cả các giải pháp kỹ thuật liên quan đến một số dịch vụ để cập nhật chúng cho phù hợp.
Ví dụ, một kho lưu trữ chứa mã cho một trang web và một dịch vụ vi mô có thể có các thư mục con sau đây dành riêng cho các hoạt động:
./ops/website
./ops/micro-service-a
từng có ba kịch bản gọi là build
, test
và deploy
. Bây giờ, việc tổ chức các mục tự động hóa bằng cách nào đó đã được làm rõ, chúng ta hãy chú ý đến cấu hình.
Các điều kiện và yêu cầu chính về tổ chức cấu hình được đặt bởi deploy
động từ khi được áp dụng trên một vật phẩm giống như dịch vụ. Các deploy
động từ phải có các thông số sau:
- phiên bản của vật phẩm để triển khai,
- mục tiêu triển khai của vật phẩm, mô tả môi trường cụ thể nơi vật phẩm được triển khai sẽ chạy ( ví dụ: một cụm và các điểm cuối cần nói chuyện)
- thông tin đăng nhập cần sử dụng để kết nối với các điểm cuối khác ( ví dụ: cơ sở dữ liệu)
- cấu hình thời gian chạy của (như thời gian lưu bộ nhớ cache sẽ tồn tại, v.v.)
Từ góc độ hoạt động, sự cố này của tham số hóa phù hợp với mức độ tự do tự nhiên của vấn đề triển khai - ngoài các thông tin có thể đi kèm với cấu hình thời gian chạy, nhưng tốt hơn là nên tách chúng ra để tránh lây lan chúng một cách bất cẩn.