Chúng tôi đang làm một cái gì đó gần với "nhúng" phát triển ở đây, và tôi có thể cho bạn biết những gì chúng ta tiết kiệm:
- số SVN sửa đổi, dấu thời gian, cũng như máy nó được xây dựng trên và bởi (cũng được ghi vào các tệp nhị phân xây dựng)
- nhật ký xây dựng đầy đủ, cho biết đó là bản dựng đầy đủ hay không, bất kỳ đầu ra thú vị (STDERR) nào mà công cụ tạo dữ liệu được tạo ra, danh sách các tệp được biên dịch và cảnh báo trình biên dịch (nén rất tốt, là văn bản)
- các tệp nhị phân thực tế (cho bất kỳ nơi nào từ 1-8 cấu hình xây dựng)
- các tệp được tạo ra như một tác dụng phụ của liên kết: tệp lệnh liên kết, bản đồ địa chỉ và loại tệp "tệp kê khai" cho biết nội dung được ghi vào tệp nhị phân cuối cùng (CRC và kích thước cho mỗi tệp), cũng như cơ sở dữ liệu gỡ lỗi (.pdb equivalent)
Chúng tôi cũng gửi kết quả chạy một số công cụ trên các tệp "tác dụng phụ" tới người dùng quan tâm. Chúng tôi không thực sự lưu trữ những vì chúng ta có thể tái tạo chúng sau này, nhưng các báo cáo này bao gồm:
- tổng và đồng bằng kích thước hệ thống tập tin, chia nhỏ theo loại tập tin và/hoặc thư mục tổng
- và đồng bằng của phần mã kích cỡ (.text, .data, .rodata, .bss, .sinit, v.v.)
Khi chúng tôi có các xét nghiệm đơn vị hoặc thử nghiệm chức năng (ví dụ: kiểm tra khói) đang chạy, kết quả này sẽ hiển thị trong nhật ký dựng.
Chúng tôi chưa đưa ra bất kỳ điều gì - được đưa ra, mục tiêu xây dựng của chúng tôi thường kết thúc ở ~ 16 hoặc 32 MiB cho mỗi cấu hình và chúng khá khả thi.
Chúng tôi giữ các bản sao không nén của các tệp nhị phân trong khoảng 1 tuần để dễ truy cập; sau đó chúng tôi chỉ giữ phiên bản được nén nhẹ. Khoảng mỗi tháng một lần, chúng tôi có một tập lệnh trích xuất từng tệp .zip mà quá trình xây dựng tạo và 7-zips toàn bộ tháng tạo kết quả đầu ra cùng nhau (chỉ tận dụng các khác biệt nhỏ cho mỗi bản dựng).
Một ngày trung bình có thể có một hoặc hai bản dựng cho mỗi dự án ... Máy chủ xây dựng sẽ thức dậy sau mỗi 5 phút để kiểm tra các khác biệt và bản dựng có liên quan. Một đầy đủ .7z trên một dự án rất tích cực cho một tháng có thể là 7-10GiB, nhưng nó chắc chắn là giá cả phải chăng.
Đối với hầu hết các phần, chúng tôi đã có thể chẩn đoán mọi thứ theo cách này. Thỉnh thoảng có một trục trặc trên các hệ thống xây dựng và một tập tin không thực sự là một sửa đổi nó được cho là khi một xây dựng xảy ra, nhưng thường có đủ bằng chứng về điều này trong các bản ghi. Đôi khi chúng tôi phải tìm ra một công cụ hiểu định dạng cơ sở dữ liệu gỡ lỗi và cấp cho nó một vài địa chỉ để chẩn đoán sự cố (chúng tôi có ngăn xếp tự động được tích hợp vào sản phẩm). Nhưng thông thường tất cả các thông tin cần thiết là có.
Chúng tôi chưa phải giải nén các lưu trữ .7z, chưa kể. Nhưng chúng tôi có thông tin ở đó và tôi có một số ý tưởng thú vị về cách khai thác các bit dữ liệu hữu ích từ đó.
Bạn chỉ cần có thể xác định mã nguồn của mình một cách đáng tin cậy. Tùy thuộc vào VCS của bạn, điều đó có thể có nghĩa là sử dụng các bản sao, nhưng một đặc điểm kỹ thuật của mã nguồn có thể là đủ. Ngoài ra, trong những ngày bạn có thể mua 2TB ổ đĩa với giá 200 đô la, có thể bạn vẫn giữ nguyên nguồn (đã nén, ngay cả bây giờ). –
2TB đĩa với giá 200 đô la? Bạn có nghĩa là mua hai ổ đĩa 1TB với giá 100 đô la, hoặc bạn có nghĩ rằng bạn có thể được giảm giá 30% tại newegg không? http://www.newegg.com/Product/Product.aspx?Item=N82E16822136344 –