Rails 애플리케이션을 배포하기 전에 수행해야 할 작은 작업은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/101066

문제

편집하다

Rails 애플리케이션을 배포하기 전에 간과하기 쉬운 작은 작업 중 어떤 작업을 수행해야 합니까?

나는 설정했다 다른 질문 1~2분 이상 소요되는 작업의 경우 배포 프로세스에 따라 예약되어야 합니다.이 질문에서 나는 주로 온라인 구성 옵션 및 이와 유사한 옵션에 관심을 갖고 있습니다. 이는 수행할 수 있지만 배포할 때까지 아무런 차이가 없기 때문에 개발 주기 동안 종종 제외됩니다.

도움이 되었습니까?

해결책

  • 사용 중인 보석을 동결하세요. rake gems:unpack
  • 비밀글을 바꾸세요 config/environment.rb
  • 비밀번호와 같은 민감한 정보를 필터링합니다.~에 app/controllers/application.rb filter_parameter_logging :password, :password_confirmation

다른 팁

  • 프로덕션 서버에 DB가 설정되어 있는지 확인하세요.
  • 앱을 올바르게 배포하려면 capistrano를 설정하세요.
    • 카피스트라노 드라이런을 실행해 보세요
  • Rails가 Vendor/Rails 폴더에 포함되어 있는지 확인하세요.
  • 모든 gem이 앱에 고정되어 있거나 prod 서버에 설치되어 있는지 확인하세요.
  • 프로덕션 머신에서 테스트 실행
  • Google Analytics 스니펫(또는 기타 분석) 포함
  • 을 체크 해봐 느린 쿼리 로그, 전체 테이블 순회를 유발하는 모델에 인덱스를 추가합니다.

  • 또한

    grep -ril FIXME

보기 캐시, 데이터베이스 구성, 유지 관리 페이지 등을 포함하여 배포된 앱 복사본 간에 공유할 파일 및 폴더를 설정합니다.

이것은 실제로 Rails에 특정한 배포 작업은 아니지만 배포된 시스템에서 너무 많이 간과되는 것을 보았습니다.

  • 백업;물론 이는 결국 큰 작업이 될 수 있지만 반드시 그럴 필요는 없습니다.데이터베이스와 소프트웨어의 야간 백업을 예약하는 것만으로도 충분한 경우가 많습니다.
  • 복원 절차 테스트
  • 로그 회전 및 보관
  • 예외 통지
  • 배포하려는 장소에 RAILS_ENV 변수가 올바르게 설정되어 있는지 확인하세요.환경을 통해 또는 capistrano 콜백을 통해.
  • rake spec, shoulda, 단위 테스트 또는 테스트에 사용하는 모든 항목을 실행하여 테스트가 모두 통과되었는지 확인하세요.
  • rake gems:unpack을 사용하여 보석 포장 풀기
  • Rails를 동결해야 하는지 결정합니다.갈퀴 레일:고정:보석
  • 보석 이외의 것(memcached, 메일 서버 등)이 필요한 경우 종속성이 서버에 설치되어 있는지 다시 확인하세요.
  • MySQL을 사용하는 경우 C 기반 MySQL 라이브러리를 서버에 컴파일하고 설치합니다(이 작업은 몇 분 이상 걸릴 수 있지만 모든 종속성이 충족되면 일반적으로 상당히 빠릅니다).
  • git을 사용하는 경우 코드를 마스터 브랜치에 푸시하세요.필요한 경우 태그를 지정하세요.
  • SVN을 사용하는 경우 릴리스에 태그를 지정하세요.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top