Hình 3.1: Luồng triển khai liên tục cơ bản
Các lập trình viên sẽ phát triển tính năng và đẩy mã nguồn lên kho chứa mã chung (repository) của tồn bộ cơng ty/tổ chức.
Khi kho chứa mã nhận biết có sự thay đổi về mã, máy chủ CI sẽ được kích hoạt
để dịch mã vừa được cập nhật. Khi mã được dịch xong, máy chủ sẽ đóng gói bản dịch
theo dạng ảnh container. Sau đó, các cơ chế kiểm thử tự động sẽ được dùng để đảm bảo mã khơng có lỗi.
Nếu build thất bại, tồn bộ q trình sẽ bị dừng lại. Ngược lại, máy chủ sẽ đẩy bản build mới lên một kho chứa chung dùng để triển khai. Kết quả build thành cơng hay thất bại đều có thơng báo gửi tới nhà phát triển thông qua các kênh giao tiếp chung của công ty.
Sau khi bản build được đẩy lên kho chứa, máy chủ CI sẽ kích hoạt máy chủ triển khai để triển khai bản build lên mơi trường sản phẩm. Q trình triển khai cần đảm bảo khơng có thời gian ngừng hoạt động và trong suốt với người sử dụng.
Việc lựa chọn máy để triển khai và giao tiếp giữa các container trong các máy sẽ
được một nền tảng điều phối container quản lý.
Các bản build được triển khai trên môi trường sản phẩm sẽ được hệ thống giám sát kiểm tra thường xuyên. Nếu có vấn đề xảy ra, hệ thống giám sát sẽ gửi thông báo tới thành phần cảnh báo. Thành phần cảnh báo có trách nhiệm gửi thơng báo lỗi tới nhà phát triển thông qua các kênh giao tiếp.
Hệ thống quản lý log sẽ liên tục thu thập log từ các dịch vụ được triển khai, lưu trữ log vào một hệ thống lưu trữ và cho phép người dùng truy cập, tìm kiếm thơng tin log khi có lỗi xảy ra thơng qua giao diện người dùng.