맞습니다.
아, 만약 팔코(Falco)의 제안을 말씀하시는 거라면, “에러가 나는” gem 파일의 버전이 정상 작동하는 버전으로 고정되므로 업데이트는 문제가 없을 것입니다.
맞습니다.
아, 만약 팔코(Falco)의 제안을 말씀하시는 거라면, “에러가 나는” gem 파일의 버전이 정상 작동하는 버전으로 고정되므로 업데이트는 문제가 없을 것입니다.
네. sed 훅에 대해 말씀하신 거였군요. 알겠습니다, 이론적으로는 이전 버전의 gem을 강제하므로 업데이트에 문제가 없을 것 같습니다. 이전 커밋 빌드가 끝나면 (지금까지 잘 되고 있습니다), 현재 커밋으로 돌아가서 그 훅을 테스트로 사용해 볼 수도 있겠네요. 빌드가 끝났으니 다시 정상화되었는지 확인해 보겠습니다…
이전 커밋으로 되돌렸습니다. 감사합니다! 그 버전이 동작한다는 것을 알고 있으므로, sed 훅을 적용하여 현재 커밋에서 다시 빌드해서 테스트해 보겠습니다.
이 방식으로 빌드 테스트를 실행했는데 실패했습니다. 잘못 지정하고 있는 것 같습니다. 에러 메시지는 다음과 같습니다:
Pups::ExecError: sed -i -e 's/oj (3.13.*/oj (3.13.14)/' Gemfile.lock failed with return #<Process::Status: pid 222 exit 2>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cmd"=>["sed -i -e 's/oj (3.13.*/oj (3.13.14)/' Gemfile.lock"]}
bootstrap failed with exit code 2
다음과 같이 추가했습니다:
## Plugins go here
## see https://meta.discourse.org/t/19157 for details
hooks:
after_code:
### Attempted fix
- exec:
cmd:
- sed -i -e 's/oj (3.13.*/oj (3.13.14)/' Gemfile.lock
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-push-notifications.git
- git clone https://github.com/davidtaylorhq/discourse-whos-online.git
좋아, 나를 무시해라! 이런 경우를 처리하는 방식이 바로 그거라고?
명확히 하자면, 자유 및 오픈소스 프로젝트의 일원이 된다는 것이 어떤 의미인지 충분히 이해하고 있다. 그래서 커뮤니티의 피드백이 필요하다는 것도 안다. (나도 그런 프로젝트를 이끌고 있다.)
여러분(여기서 팀 전체를 대상으로 말하는 것이다)이 할 수 있는 마지막 일은, 이 문제를 제기해 준 멤버들에게 감사의 뜻을 전하고, 문제를 조사하기 위해 기울인 노력에 대해 인정하는 것이다. 그리고 지금까지 무엇을 했는지에 대한 후속 조치도 알려줘야 한다.
그게 정말 그렇게 어렵냐?!
여기에 패치를 적용했습니다:
1시간 이내에 소스 트리에 반영될 것입니다. 작동하는지 알려주세요.
알려주셔서 감사합니다.
빌드가 성공적으로 완료되었고, 이제 2.9.0.beta7이 정상적으로 실행되고 있습니다. 이 이슈에 대한 빠른 대응을 해주신 여러분께 진심으로 감사드립니다!
저희 쪽에서도 임시 수정이 잘 작동하는 것을 확인했습니다. 이 수정안을 제공해 주셔서 정말 감사합니다.
불행히도 저희에게는 이 수정이 너무 늦게 도착했습니다. 현재 서버(AMD Opteron 4180)를 더 최신 사양의 서버로 교체하는 작업이 이미 진행 중이기 때문입니다. 열흘 전만 해도 여러분이 저를 방치할지, 아니면 진지하게 수정안을 찾고 있을지 알 수 없었습니다.
이 문제로 인해 다음 달부터 저희는 매달 두 배의 비용을 지불해야 하는데, 저희는 소규모 비영리 오픈소스 프로젝트입니다.
저희 프로젝트와 마찬가지로 여러분도 뛰어난 개발자 팀을 보유하고 있지만, 소통 측면에서는 진지한 개선이 필요하다고 솔직히 말씀드립니다.
포럼이 24시간 이상 중단된 후 @jonathon의 큰 도움으로 버그를 찾아낸 사용자를 열흘 동안 어떤 소통도 없이 방치하는 것은 부끄러워해야 할 일입니다.
여러분이 커뮤니티와 소통하려는 사람들을 위한 플랫폼을 제공하고 있다는 점을 굳이 다시 말씀드리지 않아도 될 것 같습니다.
여러분과 팀이 현재 존재하는 포럼 소프트웨어 중 가장 뛰어난, 어쩌면 가장 훌륭한 소프트웨어를 제공하고 있다고 생각합니다. 기술적인 문제 자체보다 소통 부재에 대해 더 많이 실망했습니다. 이 사례를 교훈으로 삼아 주시기 바랍니다.
[oj gem] v3.13.20이 출시되었으며 기본적으로 [SSEv4.2]를 비활성화합니다: #806
정보를 주셔서 감사합니다.
혹시 이 문제를 겪고 discourse_docker가 더 새로운 이미지로 업데이트되기 전에 재빌드를 원하거나 필요하신 분들을 위해, /var/discourse/launcher 스크립트를 편집하여 빌드할 새로운 베이스 이미지를 선택할 수 있습니다. 예를 들어:
-image="discourse/base:2.0.20220720-0049"
+image="discourse/base:2.0.20220812-0056"
새로운 이미지는 Discourse update keeps failing - #69 by sam 에서 언급된 oj=0.3.14 gem 고정(pinning)을 포함하고 있으므로, 재빌드가 성공적으로 완료됩니다.
런처의 이미지 버전이 업데이트되었습니다. git pull을 실행하면 최신 버전이 적용됩니다: