Rails 애플리케이션을 배포하기 전에 수행해야 할 작은 작업은 무엇입니까?
-
01-07-2019 - |
문제
편집하다
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을 사용하는 경우 릴리스에 태그를 지정하세요.
제휴하지 않습니다 StackOverflow