업데이트를 시도할 때마다 왜 계속 이런 일이 발생하는가요?

@techwithanirudh 친구의 포럼을 업데이트할 때마다 다른 모든 것은 업데이트할 수 있지만, Discourse 또는 Discourse 관련 기능만은 업데이트할 수 없습니다. 왜 그런지 모르겠는데, 이로 인해 포럼이 매우 구식이 되고 짜증이 납니다.

설명 좀 해줄 수 있을까요?

이것은 그가 SSH 또는 코드베이스에서 설정하는 것인가요? 다른 관리자는 Discourse 기반 항목을 업데이트할 수 없고, 다른 관리자를 사칭할 수도 없나요? 이 부분도 제가 잘못 이해한 것 같습니다.

Docker_manager는 Discourse 업그레이드를 담당하는 도구입니다. 새로운 Discourse 버전을 올바르게 업그레이드할 수 있도록, 먼저 Docker_manager를 업데이트해야 합니다.

Docker_manager에서 업데이트를 클릭하세요.

완료되면, Discourse에서 업데이트를 클릭할 수 있습니다.

요청하신 내용이 정확히 무엇인지 확실하지는 않지만, 업데이트를 위한 제 선호 방법은 /var/discourse에서 launcher를 사용하는 것입니다.

tests-passed 브랜치를 사용 중이라면, 빠르게 반복 개발을 진행하기 때문에 짧은 시간 내에 새로운 커밋이 제공되는 경우가 많습니다. 이는 반드시 '오래된 상태’를 의미하지는 않습니다.

Adubs, 포럼 코드에 접근할 수 없어요. Keegan, 매니저에게 시도해 보고 알려드릴게요.

음 @keegan, 그 방법이 작동한 것 같네요. 이제 제대로 작동하는데, 왜 한 번에 업데이트할 수 없는 건가요?

런처를 사용하면 됩니다. SSH 접근 권한을 요청하겠습니다.

docker manager가 discourse를 업데이트하는 주체이기 때문입니다.

기억이 정확하지는 않지만, 아마도 새 버전의 Discourse를 사용하려면 먼저 Docker Manager를 업그레이드해야 하기 때문일 것입니다. 종속성 관계라고 생각하시면 됩니다.

네이트 아두브, 그게 더 말이 되네. 좀 더 설명해 줄 수 있어?

CLI에서 ./launcher rebuild app 명령으로 재구축하면 GitHub에서 모든 최신 버전이 자동으로 가져오게 되며, UI에서는 이를 수동으로 수행해야 합니다.

개인적으로 @ice.d 님의 지적에 동의합니다. docker_manager가 업데이트가 필요할 때 두 번의 업데이트를 해야 한다는 점은 번거롭거든요. 먼저 docker_manager를 업데이트해야 하고, 그 과정이 완료될 때까지 기다린 후에 Discourse(또는 전체 업데이트)를 실행하여 Discourse와 플러그인을 업데이트해야 합니다.

docker_manager 업데이트는 시간이 꽤 걸리기 때문에, 저는 보통 업데이트를 시작한 뒤 다른 일을 하러 나갔다가 나중에야 돌아와서 Discourse를 업데이트해야 한다는 사실을 기억하는 경우가 많습니다.

이런 상황에서 UI가 여전히 ‘전체 업데이트’ 버튼을 사용할 수 있도록 하고, docker_manager를 먼저 업데이트한 후 자동으로 Discourse 업데이트로 진행하는 방식이라면 좋은 개선이 될 것 같습니다. 만약 docker_manager 업데이트가 실패하면 프로세스가 중단되도록 하면 됩니다.

예전에는 그렇게 했지만, 웹사이트를 통해 업데이트하면 다운타임이 훨씬 적다는 것을 깨달았습니다.

맞습니다. 업데이트가 성공할 경우 말이죠. 하지만 업데이트가 실패할 수도 있는데, 그럴 경우 커맨드라인에 접속해 문제를 해결할 때까지 포럼이 작동하지 않게 됩니다. 따라서 가동 시간(업타임)이 중요하다면, 업데이트를 시도하는 시점에는 항상 커맨드라인 작업을 수행할 수 있는 준비가 되어 있어야 합니다.

그리고 어떤 경우든, 업데이트를 시도하기 전에 전체 백업을 받아 다운로드해 두어야 합니다. 상황이 매우 나빠지면 그 백업이 필요할 것이기 때문입니다.

음… 그러면 여기서 컨테이너 두 개를 사용하는 구성이 도움이 될까요?

그래도 sidekiq은 어떻게 할 거야?

제 이해로는, 컨테이너 2개 구성을 사용하면 최소한의 다운타임으로 커맨드 라인 재빌드를 수행할 수 있습니다. 따라서 네, 커맨드 라인 재빌드를 더 매력적으로 만들어 줍니다.

참고로 Docker Manager는 컨테이너 2개 설정을 지원하지 않습니다.

도움이 주셔서 감사합니다. 나머지 작업을 진행하려면 Docker를 업데이트해야 하는지 확인만 하고 싶습니다.

맞습니다. 먼저 Docker_manager를 실행하세요. 제 서버에서는 약 5분이 걸립니다. 그 후 Discourse를 업데이트하거나 플러그인을 업데이트하거나, "모두 업데이트"를 선택할 수 있습니다.