2009-08-03 31 views
5

Có cách nào để giữ nhật ký (địa phương hoặc được lưu trữ trên máy chủ từ xa) mỗi lần triển khai được thực hiện qua capistrano không? Nó sẽ rất hữu ích để giữ một hồ sơ của những gì sửa đổi đã được chạy tại bất kỳ thời gian nhất định trong quá khứ.Giữ nhật ký triển khai capistrano

Tôi biết rằng quá trình triển khai để lại các tệp được triển khai cho 10 lần triển khai cuối cùng trong thư mục phát hành, nhưng sẽ tốt hơn nếu giữ lịch sử lâu hơn và có thể truy cập được dưới dạng tệp phẳng.

Trả lời

8

capistrano đặt một vài biến hữu ích, một biến được gọi là latest_revision mà bạn có thể đổ ra tệp.

task :mark_revision do 
    log = "#{deploy_to}/revisions.log" 
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " + 
    "echo #{latest_revision} >> #{log};" 
end 
+0

dường như capistrano 3 tạo ra một revisons.log cho bạn trên triển khai – lfender6445

3

Không có chức năng nào được tích hợp sẵn, vì vậy câu trả lời khác sẽ hoạt động hoàn hảo; Tôi có thể nói rằng bạn nên gắn nó vào dây chuyền thực hiện mặc định bằng cách nào đó, tôi muốn giới thiệu cái gì đó như

after :deploy, :mark_revision 

của vẫn tốt hơn IMHO sẽ là một cái gì đó như:

after :deploy do 
    log = "#{deploy_to}/revisions.log" 
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " + 
    "echo #{latest_revision} >> #{log};" 
end 

tôi đã mở nó như là một vé để thảo luận về trình theo dõi lỗi của Capistrano, có lẽ chúng ta sẽ thực hiện một cái gì đó trong lõi để giữ các bản ghi tốt hơn; đó chắc chắn là một câu hỏi tuyệt vời mà chúng tôi đã bỏ qua!

Webistrano của Peritor Labs thực hiện điều gì đó tương tự, bằng cách duy trì kết thúc web-cơ sở dữ liệu, điều này cho phép bạn ghi lại bất cứ điều gì bạn thích và di chuyển phụ thuộc vào việc triển khai các máy phát triển ở vị trí trung tâm hơn; thường mọi người sử dụng Webistrano trên máy chủ CI của họ hoặc máy chủ lưu trữ nếu họ đang tự lưu trữ. Thông tin thêm về Trác họ: http://labs.peritor.com/webistrano

Lỗi cư trú ở đây: https://capistrano.lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments

Các vấn đề liên quan