1. Ruby on Rails 애플리케이션 준비
- PostgreSQL 및 Tailwind CSS를 사용하는 Rails 8 블로그 앱을
rails new명령어로 생성하고,Post모델에title과 Action Text 기반의 리치 텍스트content를 추가하여 기본적인 기능을 구현합니다. 모든 코드는 GitHub에 푸시하여 배포 준비를 완료합니다.
2. Hatchbox를 이용한 클라우드 인프라 구축
-
Hatchbox에 로그인하여 Digital Ocean과 같은 클라우드 제공업체와 연동한 후, 새 클러스터 및 서버를 설정합니다. 서버는 웹 서버, Cron, 백그라운드 워커, PostgreSQL 데이터베이스 등 애플리케이션 운영에 필요한 다양한 역할을 수행하도록 구성됩니다.
-
Hatchbox 내에 새 애플리케이션을 생성하고 GitHub 리포지토리와 연결합니다. Rails 8에서 도입된 Solid Queue, Solid Cable, Solid Cache Gem들을 위해 Hatchbox에서 각기 다른 PostgreSQL 데이터베이스를 생성하고, 환경 변수 자동 관리 기능을 통해 이들을 효율적으로 연결하는 방법을 시연합니다.
3. 애플리케이션 배포 및 Lexi 에디터 전환
-
설정 완료 후, Hatchbox의 ‘Deploy’ 기능을 사용하여 애플리케이션을 최초 배포하고, 실시간 로그를 통해 배포 과정을 추적합니다.
-
배포된 앱의 기본 Trix 에디터를 Rails의 새로운 마크다운 에디터인 Lexi로 전환하는 과정을 상세히 설명합니다.
Gemfile,importmap.rb,application.js, 그리고 레이아웃 및 뷰 파일 수정을 통해 Lexi를 통합합니다. -
Hatchbox의 자동 배포 기능을 활성화하여, GitHub에 코드가 푸시될 때마다 변경 사항이 자동으로 웹에 반영되도록 설정하고, Lexi가 성공적으로 적용된 앱을 확인합니다.
4. 서버 원격 관리 및 디버깅
-
Hatchbox는 Solid Queue와 같은 백그라운드 워커 프로세스를 자동으로 감지하고 설정하여 운영 편의성을 높입니다.
-
사용자는 Hatchbox를 통해 서버에 SSH로 쉽게 접속할 수 있으며,
rails console(샌드박스 모드 포함)을 활용하여 프로덕션 환경에서 안전하게 데이터를 확인하거나 디버깅 작업을 수행하는 방법을 배웁니다.