참고… 수정 사항이 적용되려면 계란과 닭의 문제와 같은 상황이 발생합니다. 업그레이드를 실행할 때 여전히 구버전 코드가 로드되기 때문입니다.
처음에는 ./launcher rebuild 명령이 필요할 수 있으며, 이후에는 웹 업그레이더가 정상적으로 작동할 것입니다.
이를 피하는 쉬운 방법은 없습니다. @cvx, 어려운 문제입니다… 기술적으로는 업그레이드 시 DockerManager::Upgrader.new(user_id, repo, repo_version).upgrade가 쉼을 호출하여 새 업그레이더 코드를 실행하도록 해야 하지만, 이는 꼬인 뱀처럼 복잡한 문제입니다.
빠른 우회 방법
- docker manager 업그레이드를 시작합니다.
- 멈추는 지점에서 취소합니다.
- 셸에서
./launcher restart app을 실행합니다. - 이제 웹에서 업그레이드가 정상 작동합니다.
쉬운 우회 방법
./launcher rebuild app을 실행합니다.
이후에는 모든 것이 정상입니다.
수정
이것이 이 주제에 대한 마지막 게시물이 되도록 하기 위해 선제적으로 이 이슈를 닫습니다. 이렇게 하면 우회 방법을 찾기 쉬워집니다. 재빌드 후에도 여전히 문제가 발생하면 다시 열 수 있도록 플래그를 남깁니다.