Nâng cấp một số ứng dụng Rails dễ dàng như bundle update rails
.
Nhưng điều gì sẽ xảy ra nếu bạn có một trong cái khác loại ứng dụng? Những cái vẫn còn trên Rails 4.0 hoặc thậm chí 3.2, vì bạn không cảm thấy muốn kéo chúng đá và hét lên trong tương lai?
Cho dù bạn đang đối mặt với việc nâng cấp nhanh chóng hay khó khăn, các bước này sẽ giúp bạn đưa ứng dụng của mình lên Rails 4.2 một cách suôn sẻ nhất có thể. Và trong quá trình này, bạn sẽ học cách tận dụng tối đa các tính năng mới của Rails 4.2.
Đọc hướng dẫn nâng cấp
Bạn phải luôn bắt đầu nâng cấp Rails của mình bằng cách đọc Hướng dẫn Nâng cấp Rails.
Hướng dẫn nâng cấp sẽ hướng dẫn bạn qua hầu hết các thay đổi chính giữa các phiên bản Rails. Nó sẽ cho bạn biết chính xác cách thay đổi ứng dụng của mình để khắc phục những sự cố lớn nhất mà bạn sẽ gặp phải. (Ví dụ:thay đổi này trong Rails 4.1 sẽ khiến chúng tôi đau đớn hàng giờ đồng hồ nếu chúng tôi không biết chú ý đến nó.)
Nhưng hơn thế nữa, hướng dẫn nâng cấp sẽ giải thích tại sao bạn nên thực hiện những thay đổi đó. Và điều đó rất quan trọng, vì nó giúp bạn hiểu bạn nên làm theo đề xuất nào và bạn có thể bỏ qua đề xuất nào.
Và nếu bạn muốn hiểu sâu hơn những thay đổi của Rails 4.2, hãy đọc ghi chú phát hành. Họ sẽ giới thiệu cho bạn tất cả các tính năng mới của Rails 4.2 mà bạn sẽ sớm có thể sử dụng. Nếu không có gì khác, điều đó sẽ thúc đẩy bạn hoàn thành việc nâng cấp.
Nâng cấp trong các bước
Khi bạn chuyển sang phiên bản Rails mới, trước tiên hãy luôn nâng cấp lên phiên bản điểm mới nhất. Và đừng bỏ qua các phiên bản nhỏ.
Vì vậy, nếu bạn muốn nâng cấp từ 4.1.6 lên 4.2, hãy chuyển 4.1.6 lên 4.1.9 và 4.1.9 thành 4.2. Nếu bạn đang bắt đầu ở 4.0.12, hãy chuyển từ 4.0.12 đến 4.0.13, sau đó 4.0.13 đến 4.1.9 và sau đó từ 4.1.9 đến 4.2. Có vẻ như nhiều công việc hơn, nhưng nó sẽ giúp bạn tiết kiệm thời gian về lâu dài.
Tại sao?
Phiên bản điểm mới nhất của bản phát hành Rails có các cảnh báo tốt nhất về việc không dùng nữa.
Đừng đánh giá thấp mức độ hữu ích của cảnh báo ngừng sử dụng. Nếu bạn nâng cấp theo từng bước, họ sẽ cho bạn biết chính xác điều gì sẽ hỏng và cách ngăn chặn. Nếu bạn nhảy quá xa, ứng dụng của bạn sẽ bị hỏng và bạn sẽ không biết tại sao.
Cuối cùng, nếu bản nâng cấp Rails phiên bản điểm (như từ 4.0.9 lên 4.0.13) phá vỡ kiểm tra, điều đó thường cũng phá vỡ trong quá trình nâng cấp lớn hoặc nhỏ. Nhưng những vấn đề đó dễ gỡ lỗi và khắc phục hơn nhiều khi ít thay đổi hơn.
Vì vậy, đây là những gì cần làm:
- Nâng cấp lên bản phát hành điểm mới nhất của bất kỳ phiên bản Rails nào mà ứng dụng của bạn đang sử dụng.
- Nâng cấp bất kỳ đá quý nào khác giúp bạn không bị
bundle update
ing. - Sửa các bài kiểm tra, cam kết nếu cần.
- Khắc phục các cảnh báo không dùng nữa, cam kết nếu cần.
- Nâng cấp lên phiên bản nhỏ hoặc phiên bản chính tiếp theo của Rails và lặp lại.
Hãy dựa vào các bài kiểm tra của bạn
Khi bạn nâng cấp Rails, các bài kiểm tra của bạn sẽ là dấu hiệu đầu tiên cho thấy có điều gì đó không ổn. Chúng phải là thứ đầu tiên bạn chạy và là thứ đầu tiên bạn sửa chữa. Thậm chí đừng bận tâm đến việc cố gắng khởi động ứng dụng Rails của bạn trước khi các bài kiểm tra của bạn gần như vượt qua.
Nâng cấp đá quý của bạn
Khi kiểm tra không thành công và có vẻ như đó không phải là lỗi của bạn, điều đó thường có nghĩa là một trong những viên ngọc của bạn cần được cập nhật.
Nâng cấp Rails chỉ là khoảng thời gian tồi tệ nhất để nâng cấp đá quý. Vì quá nhiều ứng dụng của bạn đang thay đổi, nên thật khó để biết liệu bản nâng cấp Rails đã hỏng thứ gì hay bản nâng cấp gem đã làm hỏng thứ gì đó hay bạn đã làm hỏng thứ gì đó.
Nhưng vì một số đá quý phụ thuộc rất nhiều vào nội bộ Rails, nên đây là điều bạn phải làm. Vì vậy, nếu thứ gì đó bên trong sass bị lỗi, hãy nâng cấp viên ngọc sass-rails. Và hy vọng nó không làm cho mọi thứ tồi tệ hơn.
Lấy nhiều trong số các ghi chú
Nếu bạn đang có một bản nâng cấp Rails đặc biệt khó khăn, bạn sẽ phải thử nghiệm. Bạn có thể sẽ thực hiện một số gỡ lỗi, chỉnh sửa một số mã hoặc thay đổi một số thử nghiệm xung quanh.
Khi làm điều này, bạn sẽ quên những thay đổi bạn đã thực hiện. Một số điều bạn đã thử hầu hết đã giúp bạn, nhưng không hoàn toàn, ở đó. Những bài kiểm tra nào bạn sẽ xem xét tiếp theo. Những nơi khác bạn cần đổi mã. Mẹo để chia sẻ với đồng nghiệp đang nâng cấp ứng dụng của riêng họ lên Rails 4.2.
Vì vậy, hãy ghi chép thật nhiều. Viết mọi thứ ra giấy. Những thứ bạn đã thử và các tệp bạn đã thay đổi. Bạn có những giả thuyết về lý do tại sao mọi thứ không thành công và liệu chúng có đúng hay không. Những viên ngọc nào bạn đã phải cập nhật. Hành vi có vẻ kỳ lạ và bạn sẽ muốn kiểm tra kỹ hơn sau.
Bạn không muốn thực hiện thay đổi, hãy quay lại, nhận ra đó thực sự là điều đúng đắn cần làm và không nhớ những gì bạn đã làm. Vì vậy, hãy viết nó ra.
Một số tài nguyên khác
Trong phần nhận xét, Miha Rekar đã chỉ vào RailsDiff, điều này cho bạn thấy sự khác biệt giữa các ứng dụng Rails mới được tạo trong các phiên bản Rails khác nhau. Đây là một cách tuyệt vời để tìm hiểu về các thông số cấu hình bạn không cần nữa hoặc những thông số mới bạn nên thêm vào ứng dụng của mình.
Và Daniel Kehoe đã viết một hướng dẫn toàn diện để cập nhật Ruby và Rails bằng cách sử dụng các bộ đá quý RVM và RVM.
Bản nâng cấp Rails tốt nhất có thể
Một số nâng cấp Rails diễn ra suôn sẻ. Mọi thứ chỉ hoạt động. Những người khác là những dự án đầy thử thách, nhiều ngày hoặc nhiều tuần. Nó phụ thuộc vào ứng dụng của bạn, phụ thuộc của bạn và những thứ cụ thể mà Rails đã thay đổi. Nhưng nếu bạn làm theo các bước này, bạn sẽ có trải nghiệm nâng cấp tốt nhất có thể.
Bạn đã sử dụng Rails 4.2 chưa? Quá trình nâng cấp của bạn diễn ra như thế nào? Bạn vừa phải cập nhật một loạt đá quý, hay bạn vẫn đang đuổi theo lần thử nghiệm thất bại cuối cùng đó?
(Lưu ý nhanh:Tôi sẽ phát hành Practice Rails vào ngày 11 tháng 2! Vì vậy, bạn chỉ còn vài tuần nữa để nhận được chiết khấu 25% khi truy cập sớm.)