Thông thường khi sử dụng capistrano, tôi sẽ xóa các phiên bản cũ khỏi ứng dụng được triển khai theo cách thủ công. Tôi hiểu rằng bạn có thể chạy cap deploy:cleanup
nhưng vẫn còn 5 bản phát hành. Đây có phải là mục đích dự định không? Có cách nào khác để dọn dẹp các bản phát hành cũ chỉ với 1 lần triển khai trước đó không?Capistrano - dọn dẹp các phiên bản cũ
Trả lời
Bạn có thể sử dụng biến số :keep_releases
để ghi đè mặc định là 5. Kiểm tra this.
Tuyệt. Đó là chính xác những gì tôi đang tìm kiếm. Cảm ơn bạn. – Josh
Bạn được chào đón! Bạn có thể vừa chấp nhận câu trả lời! :-) – jcrossley3
@Josh, chắc chắn, chấp nhận câu trả lời này nếu nó giải quyết được vấn đề của bạn. Cả hai bạn có được điểm đại diện theo cách này. –
Bạn có thể làm điều này tự động bằng cách thiết lập này trong deploy.rb
set :keep_releases, 1
after "deploy:update", "deploy:cleanup"
của bạn Trong quá khứ (Tôi không biết chính xác phiên bản nào) gọi lại này là mặc định, nhưng sau đó các nhà phát triển quyết định rời khỏi nó cho người dùng quyết định. Trong capistrano 3 nó đã được thêm trở lại dòng chảy triển khai mặc định.
Cảm ơn, Diego. Câu trả lời của bạn hoạt động chính xác trong Capistrano v2.14.1. – scarver2
Cảm ơn @diego điều này thực sự đã giúp! – gouravtiwari21
Dường như [Capistrano 3 calls 'deploy: cleanup' như một phần của luồng triển khai] (https://github.com/capistrano/capistrano/blob/690afc0c5c3c43d2920b0bfdeb9323c286b12106/lib/capistrano/tasks/deploy.rake#L23). – Dennis
Nếu bạn muốn xóa tất cả các phiên ngoại trừ người cuối cùng 3 ví dụ bạn có thể chạy:
cap deploy:cleanup -s keep_releases=3
Không hoạt động. 'optionParser :: InvalidOption: tùy chọn không hợp lệ: s' – Snowman
Tôi đã có một vấn đề tương tự. Tôi muốn giữ 5 bản phát hành để triển khai bình thường nhưng cần thiết cho các tình huống nhất định để có thể xóa tất cả các bản phát hành trước đó.
Tôi có thể thực hiện tác vụ này bằng tác vụ tùy chỉnh. Tạo một tệp lib/capistrano/tasks/cleanup.rake
và thêm mã sau đây.
desc "Remove all but the last release"
task :cleanup_all do
set :keep_releases, 1
invoke "deploy:cleanup"
end
Để chạy sử dụng bundle exec cap staging cleanup_all
hoặc cap staging cleanup_all
- 1. dọn dẹp các tệp phiên php
- 2. JQuery dọn dẹp eventhandlers
- 3. Dọn dẹp các tệp CSS
- 4. AppDomain.CurrentDomain.ProcessExit và dọn dẹp
- 5. Django: dọn dẹp bảng cơ sở dữ liệu phiên
- 6. Dọn dẹp hàng loạt astar
- 7. Cách dọn dẹp một dự án Android?
- 8. Làm thế nào để dọn dẹp cũ Không xây dựng trong TeamCity?
- 9. Dọn dẹp thiết lập lặp đi lặp lại và dọn dẹp Java (JDBC) mã
- 10. Emacs: Dọn dẹp hoàn tác cây
- 11. Pthread có thể tự dọn dẹp không?
- 12. Tự động dọn dẹp cho TortoiseSVN
- 13. C dọn dẹp mã sắc nét: resharper
- 14. Tự động biến để dọn dẹp Makefile.am
- 15. Dọn dẹp đúng cách các điều khiển người dùng WPF
- 16. Phiên làm việc mã hiệu suất hết hạn được dọn dẹp như thế nào?
- 17. Dọn dẹp mã không mong muốn C#
- 18. Dọn dẹp một đối tượng @RequestScoped?
- 19. Dọn dẹp trước khi đóng QCoreApplication
- 20. Java oneliner cho danh sách dọn dẹp
- 21. Dọn dẹp các liên kết của Magento Modman
- 22. Lặp lại "Giai đoạn dọn dẹp không đồng bộ phiên bắt đầu NGAY"
- 23. Làm thế nào để chạy dọn dẹp với vows.js?
- 24. JBoss AS 7: Làm thế nào để dọn dẹp tmp?
- 25. Nhật ký xoay vòng và dọn dẹp NLog
- 26. Tác vụ dọn dẹp bảo trì SQL 2005. Các tệp bak không bị xóa
- 27. Dọn dẹp dữ liệu sau khi thử nghiệm selen
- 28. Thực hiện dọn dẹp SVN từ dấu nhắc lệnh
- 29. cách dọn dẹp mô hình xem đúng cách?
- 30. xách tay tương đương với __ __attribute gcc của (dọn dẹp)
nó bao giờ là một ý tưởng tốt để giữ một số phiên bản trước, sau đó nếu bạn triển khai cuối cùng chứa một sai lầm lớn, bạn có thể nhanh chóng rollback với capistrano (nắp triển khai: rollback) đến bản phát hành trước cho đến khi bạn khắc phục. – damoiser