Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Rails 4.2로 업그레이드하는 방법

일부 Rails 앱 업그레이드는 bundle update rails만큼 쉽습니다. .

하지만 다른 어떤 종류의 앱인가요? 여전히 Rails 4.0, 심지어 3.2에 있는 것들도 미래로 끌고 가고 싶지 않아서?

빠른 업그레이드를 하든 힘든 업그레이드를 하든 이 단계는 앱을 가능한 한 원활하게 Rails 4.2로 전환하는 데 도움이 됩니다. 그리고 그 과정에서 Rails 4.2의 새로운 기능을 최대한 활용하는 방법을 배우게 됩니다.

업그레이드 가이드 읽기

항상 Rails 업그레이드 가이드를 읽고 Rails 업그레이드를 시작해야 합니다.

업그레이드 가이드는 Rails 버전 간의 주요 변경 사항 대부분을 안내합니다. 당신이 직면하게 될 가장 큰 문제를 해결하기 위해 앱을 변경하는 방법을 정확히 알려줄 것입니다. (예를 들어, Rails 4.1의 이러한 변경 사항은 우리가 주의를 기울이지 않았다면 몇 시간 동안 고통을 겪었을 것입니다.)

그러나 그 이상으로 업그레이드 가이드에서 이유를 설명합니다. 이러한 변경을 수행해야 합니다. 이는 중요합니다. 따라야 할 제안 사항과 무시할 수 있는 제안 사항을 이해하는 데 도움이 되기 때문입니다.

Rails 4.2 변경 사항을 더 자세히 이해하려면 릴리스 정보를 읽어보세요. 곧 사용할 수 있게 될 멋진 새로운 Rails 4.2 기능을 모두 소개합니다. 다른 것이 없다면 업그레이드를 완료하도록 동기를 부여할 것입니다.

단계별 업그레이드

새 Rails 버전으로 이동할 때는 항상 최신 포인트 버전으로 먼저 업그레이드하세요. 마이너 버전을 건너뛰지 마세요.

따라서 4.1.6에서 4.2로 업그레이드하려면 4.1.6에서 4.1.9로, 4.1.9에서 4.2로 업그레이드하십시오. 4.0.12에서 시작하는 경우 4.0.12에서 4.0.13으로, 4.0.13에서 4.1.9로, 4.1.9에서 4.2로 이동합니다. 훨씬 더 많은 작업처럼 보일 수 있지만 장기적으로 시간을 절약할 수 있습니다.

왜?

Rails 릴리스의 최신 포인트 버전에는 최고의 사용 중단 경고가 있습니다.

사용 중단 경고가 얼마나 유용한지 과소평가하지 마십시오. 단계적으로 업그레이드하면 손상될 항목과 방지 방법을 정확히 알려줍니다. 너무 멀리 점프하면 앱이 중단되며 이유를 알 수 없습니다.

마지막으로, Rails의 포인트 버전 업그레이드(예:4.0.9에서 4.0.13으로)가 테스트를 중단하면 일반적으로 역시 메이저 또는 마이너 업그레이드 중에 중단됩니다. 그러나 이러한 문제는 변경 사항이 적을 때 디버그하고 수정하기가 훨씬 쉽습니다.

수행할 작업은 다음과 같습니다.

  1. 앱이 사용 중인 Rails 버전의 최신 포인트 릴리스로 업그레이드하세요.
  2. bundle update를 방해하는 다른 보석을 업그레이드하십시오. 잉.
  3. 테스트를 수정하고 필요에 따라 커밋합니다.
  4. 필요에 따라 사용 중단 경고를 수정합니다.
  5. Rails의 다음 마이너 또는 메이저 버전으로 업그레이드하고 반복합니다.

테스트에 기대기

Rails를 업그레이드할 때 테스트는 무언가 잘못되었다는 첫 번째 신호입니다. 가장 먼저 실행해야 하고 가장 먼저 수정해야 합니다. 테스트가 대부분 통과하기 전에 Rails 앱을 부팅하려고 애쓰지 마세요.

보석 업그레이드

테스트가 실패하고 귀하의 잘못으로 보이지 않는다면 일반적으로 보석 중 하나를 업데이트해야 함을 의미합니다.

Rails 업그레이드는 보석을 업그레이드하기에 가장 나쁜 시기입니다. 앱의 많은 부분이 변경되기 때문에 Rails 업그레이드로 인해 문제가 발생했는지, gem 업그레이드에 문제가 발생했는지, 아니면 문제가 발생했는지 구분하기 어렵습니다.

그러나 일부 보석은 Rails 내부에 너무 많이 의존하기 때문에 이것은 당신이 해야 할 일입니다. 따라서 sass 내부에서 무언가가 실패하면 sass-rails gem을 업그레이드하십시오. 상황이 악화되지 않기를 바랍니다.

제비뽑기 메모

특히 거친 Rails 업그레이드가 있는 경우 실험을 해야 합니다. 디버깅을 하거나 코드를 수정하거나 테스트를 변경할 수 있습니다.

이렇게 하면 변경 사항을 잊어버리세요. 당신이 시도한 것 중 일부는 당신을 대부분 얻었지만 완전히는 아닙니다. 다음에는 어떤 테스트를 보려고 했는지. 코드를 변경해야 하는 다른 장소. 자신의 앱을 Rails 4.2로 업그레이드하는 동료와 공유하기 위한 팁.

그러니 메모를 많이 하세요. 모든 것을 기록하십시오. 시도한 항목 및 변경한 파일. 일이 실패한 이유와 그것이 올바른지 여부에 대한 가설입니다. 업데이트해야 했던 보석. 이상하게 보이는 행동이며 나중에 자세히 확인하고 싶을 것입니다.

당신은 변경하고 싶지 않고, 되돌리고, 그것이 실제로 옳은 일이라는 것을 깨닫고, 당신이 한 일을 기억하고 싶지 않습니다. 기록해 두세요.

몇 가지 기타 리소스

의견에서 Miha Rekar는 다른 Rails 버전에서 생성된 새로운 Rails 앱의 차이점을 보여주는 RailsDiff를 지적했습니다. 이것은 더 이상 필요하지 않은 구성 매개변수 또는 앱에 추가해야 하는 새로운 구성 매개변수에 대해 배울 수 있는 환상적인 방법입니다.

그리고 Daniel Kehoe는 RVM 및 RVM gemset을 사용하여 Ruby 및 Rails를 업데이트하는 포괄적인 가이드를 작성했습니다.

가능한 최고의 Rails 업그레이드

일부 Rails 업그레이드는 원활합니다. 일이 제대로 작동합니다. 다른 것들은 도전적이고 여러 날 또는 여러 주에 걸친 프로젝트입니다. 앱, 종속성 및 Rails가 변경한 특정 사항에 따라 다릅니다. 하지만 이 단계를 따르면 최상의 업그레이드 경험을 얻을 수 있습니다.

아직 Rails 4.2를 사용 중이신가요? 업그레이드는 어떻게 되었나요? 많은 보석을 업데이트해야 합니까, 아니면 마지막으로 실패한 테스트를 계속 쫓고 있습니까?

(간단한 참고 사항:2월 11일에 Practicing Rails를 출시할 예정입니다! 따라서 25% 조기 액세스 할인을 받을 수 있는 시간이 몇 주밖에 남지 않았습니다.)