2. Xây dựng hệ thống Build hoàn toàn tự động

Estimated reading: 5 minutes 316 views

Tóm tắt

Hệ thống bấm nút một lần: Sử dụng hệ thống build hoàn toàn tự động (one-action) toàn bộ dự án mà không cần sự can thiệp nào khác từ phía người dùng.

Thảo luận

Không thể thiếu một hệ thống build hoàn toàn tự động (one-action)! Như vậy bạn có thể lặp lại được công việc tạo ra một bản đóng gói hoàn chỉnh đáng tin cậy từ các file mã nguồn của bạn. Hiện nay có rất nhiêu công cụ build tự động (Automated build tools) và chúng ta không có lý do gì để không sử dụng chúng. Chọn một cái và áp dụng ngay.

Chúng tôi đã thấy các tổ chức bỏ qua yêu cầu “one-action”. Một số người cho rằng chỉ cần một vài cú click chuột chỗ này chỗ kia, chạy một số tiện ích (utility) để đăng ký máy chủ COM/CORBA, sao chép một số tệp bằng tay…sẽ tạo thành một quy trình build hợp lý. Nhưng bạn không có thời gian và năng lượng để lãng phí vào những việc mà máy móc có thể làm nhanh hơn và tốt hơn. Bạn tuyệt đối cần một bản build “one-action” được tự động hóa và đáng tin cậy.

Các bản build thành công phải ở chế độ im lặng, không có cảnh báo (xem mục 1). Quá trình build lý tưởng là là không phát sinh nhiễu, và chỉ có 1 log duy nhất là đã build thành công (Build succeeded).

Có hai chế độ build là chế độ Tăng dần và Đầy đủ (Incremental and Full). Chế độ tăng dần chỉ build lại những file đã thay đổi kể từ bản tăng dần cuối cùng hoặc bản đầy đủ. Nếu build tăng dần 2 lần liên tiếp (mà không thay đổi gì giữa 2 lần đó) thì không được xuất ra thêm bất kỳ file gì. Nếu như có xuất ra thêm file gì đó thì khả năng hệ thống build đã bị rơi vào một vòng lặp phụ thuộc nào đó hoặc có làm những việc không cần thiết (ví dụ như tạo ra 1 file tạm thời rồi không làm gì cả mà chỉ đơn giả lại xoá chúng đi).

Có thể xây dựng một vài kiểu build đầy đủ khác nhau trong cùng một dự án. Việc phân loại kiểu này phụ thuộc vào đặc điểm dự án của bạn. Ví dụ như có thể phân loại theo kiến trúc mục tiêu, bản gỡ rối hay sản phẩm (debug hay release), qui mô dự án (chỉ file cần thiết, toàn bộ file, bản hoàn thiện cùng bộ cài đặt (installer)…). Thiết lập này có thể là build thư viện + file chạy sản phẩm, thiết lập khác có thể là build những file hỗ trợ mà thôi. Cuối cùng build đầy đủ một bản hoàn chỉnh cuối cùng sẽ bao gồm toàn bộ các file mã nguồn, các file của bên thứ 3, mã lập trình của bộ cài đặt.

Thời gian trôi đi và dự án của bạn sẽ phình to dần lên, nếu không có một hệ thống build tự động chi phí dự án cũng sẽ tăng lên. Nếu không sử dụng ngay từ đầu bạn chỉ càng ngày càng lãng phí thời gian và nguồn lực. Tệ hơn nữa đến lúc quá tải và bắt buộc phải xây dựng hệ thống buil tự động, thì bạn sẽ phải chịu nhiều áp lực hơn so với xây dựng nó ngay từ ban đầu dự án.

Bạn cũng có thể cân nhắc và sắp xếp những kỹ thuật viên chuyên bảo trì hệ thống build tự động với những dự án lớn.

Tham khảo

[Brooks95] §13, §19 • [DewhnrstO3] §1 • [GnuMake] • [StroustrupOO] §9.1

Link

Leave a Comment

Chia sẻ:

2. Xây dựng hệ thống Build hoàn toàn tự động

Or copy link

CONTENTS