Docker Manager에 문제가 있는 것 같습니다.
Docker Manager: FAILED TO UPGRADE
#<NoMethodError: undefined method `branch' for #<DockerManager::GitRepo:0x00007f1132b2ce20 @path="/var/www/discourse/plugins/discourse-onebox-assistant", @name="discourse-onebox-assistant", @memoize={"rev-parse HEAD"=>"0bf6e034f9a3ce0d23139417d05d2937132f2eaa", "symbolic-ref -q HEAD"=>"refs/heads/master", "for-each-ref --format='%(upstream:short)' refs/heads/master"=>"origin/master", "rev-parse --is-shallow-repository"=>"false", "show-branch remotes/origin/main"=>nil, "rev-parse origin/master^{}"=>"681fe5f804f444503c64a75e620b81f4f48dd1bf"}, @upgrade_key="upgrade:/var/www/discourse/plugins/discourse-onebox-assistant", @upgrade_version=nil>>
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:73:in `block in upgrade'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:71:in `each'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:71:in `each_with_index'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:71:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
제가 놓친 부분이 있는 건지, 아니면 docker_manager의 버그인 건가요?
이 커밋과 관련이 있을까요?:
committed 05:17PM - 19 Apr 23 UTC
* FEATURE: Adds support for git tags
* Detects when the tracked branch has be… en deleted from `origin` and forces a rebuild on the command line
* Allows updating when a tag is tracked and the tag was moved to a new commit
* Improves support for shallow clones
* Works with partial clones
* Adds lots of specs for git commands and replaces the existing specs. All specs use real git repositories instead of mocks
구체적으로 이 변경 사항 때문일까요?:
그리고
하지만 여전히 여기에서 참조되고 있는 것 같습니다?:
Process.kill("TSTP", unicorn_master_pid)
sleep 1
# older versions do not have support, so quickly send a cont so master process is not hung
Process.kill("CONT", unicorn_master_pid)
end
# HEAD@{upstream} is just a fancy way how to say origin/main (in normal case)
# see http://stackoverflow.com/a/12699604/84283
@repos.each_with_index do |repo, index|
# We automatically handle renames from `master` -> `main`
if repo.upstream_branch == "origin/master" && repo.branch == "origin/main"
log "Branch has changed to #{repo.branch}"
# Just in case `main` exists locally but is not used. Perhaps it was fetched?
if repo.has_local_main?
run "cd #{repo.path} && git checkout main"
else
run "cd #{repo.path} && git branch -m master main"
end
run "cd #{repo.path} && git fetch origin --tags --force"
미리 감사합니다!
1개의 좋아요
pfaffman
(Jay Pfaffman)
4월 20, 2023, 2:44오후
2
어젯밤 누군가가 UX 업그레이드로 인해 사이트가 충돌했다고 불평했습니다. 저는 오류를 확인하지 못했습니다. 새로운 베이스 이미지로 업데이트된 이후의 문제일 가능성이 높으므로, 이것이 그 사람의 문제를 설명할 수 있을 것입니다. 하지만 베타 버전 사용자들에게만 영향을 미치지 않을까요?
1개의 좋아요
이것은 tests_passed 업그레이드였습니다.
버그인 것 같습니다.
3개의 좋아요
gerhard
(Gerhard Schlager)
4월 20, 2023, 3:34오후
5
사실 제가 고장을 낸 것 같고, 모든 리포지토리에 main 브랜치가 있어서 인지하지 못했습니다.
곧 수정하겠습니다.
2개의 좋아요
네, 감사합니다! 엣지 케이스인 것 같네요
지금 브랜치를 이동하고 싶지만, 이동하지 않으면 해결 방안에 대한 테스트에 도움이 될 수도 있겠어요
gerhard
(Gerhard Schlager)
4월 20, 2023, 4:00오후
7
docker_manager가 수정되기 전까지는 이 방법으로 문제가 해결되지 않습니다. 제 해결책을 확인하고 PR을 만드는 데 몇 분만 기다려 주세요…
main ← fix-branch
merged 04:24PM - 20 Apr 23 UTC
See https://meta.discourse.org/t/upgrade-failure-docker-manager-bug/262404
2개의 좋아요
gerhard
(Gerhard Schlager)
4월 20, 2023, 4:25오후
8
그 회귀 버그를 보고해 주셔서 감사합니다. 이제 수정되었습니다.
6개의 좋아요