일기

kamal, rails 배포시 에러 해결 방법.. ActiveSupport::MessageEncryptor::InvalidMessage:

김치진주 2025. 5. 26. 20:24

이새기 때문에 거의 7시간을..

 

[문제 상황]

2025-05-26T10:59:20.793304421Z bin/rails aborted!
2025-05-26T10:59:20.793404486Z ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage
2025-05-26T10:59:20.793515734Z /rails/config/environment.rb:5:in '<main>'
2025-05-26T10:59:20.793603095Z Tasks: TOP => db:prepare => db:load_config => environment
2025-05-26T10:59:20.793652490Z (See full trace by running task with --trace)

로컬에서는 잘 실행되는데 계속 이런 에러가 발생함..

 

kamal은 docker file 빌드할 때 git 커밋 내역 기준으로 파일을 받아 배포를 시도한다..

Rails는 배포할 때 암호화를 하기 위해 master.key master.yml.enc 파일 쌍을 만듬

master.key는 보안을 위해 보통 환경변수로 주입함

로컬에서는 잘 작동하는게 보이는데.. ec2에서 환경변수 건드려가며 직접 컨테이너 실행시켜봐도 문제 발견이 전혀 안됨

 

[해결 방법]

master.yml.enc가 커밋이 안되어있던게 문제였던 것..

master.yml.enc를 커밋하니 해결이 됐습니다..

kamal 죽어

 

간단한거긴 하지만..

rails + kamal 배포 관련 자료 자체가 넘 적어서 누군가에겐 도움이 됏음 하는 마음으로 글 적어봅니다..