# git reset --hard origin 실행 후 재구축 실패, tests-passed 실패 및 반환값 발생

**URL:** https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943
**Category:** Support
**Created:** [12월 11, 2020, 2:32오전 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943 "2020-12-11T02:32:02Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![amalg](https://avatars.discourse-cdn.com/v4/letter/a/ed655f/32.png) [@amalg](https://meta.discourse.org/u/amalg)
#### Post date: [12월 11, 2020, 2:32오전 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/1 "2020-12-11T02:32:02Z")

</div>

Docker 컨테이너에서 Discourse를 실행 중이며, launcher를 사용하여 app.yml을 재빌드하려고 하면 다음과 같은 실패가 발생합니다.

```
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && git reset --hard origin tests-passed failed with return #<Process::Status: pid 257 exit 128>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["git remote set-branches --add origin master", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "git reset --hard origin $version", "git clean -f", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p /shared/log/rails", "bash -c \"touch -a /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln -s /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p /shared/{uploads,backups}\"", "bash -c \"ln -s /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p /shared/tmp/{backups,restores}\"", "bash -c \"ln -s /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "find public/plugins/ -maxdepth 1 -xtype l -delete"]}
a84cc388fbc4b16307c2081e17b03c5eee578e1155fa1e057147601119d89a34
**FAILED TO BOOTSTRAP** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================

```

GitHub의 공식 Discourse 저장소의 현재 상태와 관련된 git 오류로 보이지만, docker나 git에 대해 충분히 알지 못해 정확한 원인을 파악하기 어렵습니다. 제안대로 ./discourse-doctor를 실행해 보았지만 동일한 문제가 반복되어 도움이 되지 않았습니다.

---

<div class="post-metadata">

### Author: ![amalg](https://avatars.discourse-cdn.com/v4/letter/a/ed655f/32.png) [@amalg](https://meta.discourse.org/u/amalg)
#### Post date: [12월 11, 2020, 2:48오전 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/2 "2020-12-11T02:48:28Z")

</div>

음, 그러니까.. discourse 저장소 쪽에 뭔가 문제가 있었던 것 같아. 나는 아무것도 안 했는데.. 그냥 rebuild를 다시 실행했는데 이제 작동하더라..

1. 엉망진창인 저장소 상태가 전체 세팅을 완전히 망가뜨릴 수 있다는 게 무서워

2. 또한 원격 저장소가 제대로 작동하지 않을 때 롤백 복구 기능이 없다는 것도 무서워.. 성공적으로 재빌드될 때까지 포럼 전체가 502 Bad Gateway 상태였어. docker에 이미지 히스토리 같은 걸 되돌릴 수 있는 기능이 있는 건지.. 모르겠어.. 하지만 사이트가 작동하느냐 마느냐가 github 저장소가 제대로 정렬되어 있는지에 전적으로 달려 있다면 롤백 지원은 꽤 중요한 기능인 것 같아. 물론 재빌드를 시도하기 전에 서버 스냅샷을 찍는 건 내 책임이라고 주장할 수도 있겠지.. 뭐, 그렇게 주장할 수도 있겠지.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12월 11, 2020, 3:28오전 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/3 "2020-12-11T03:28:51Z")

</div>

재구축이 실패하면 일반적으로

```
./launcher start app

```

---

<div class="post-metadata">

### Author: ![amalg](https://avatars.discourse-cdn.com/v4/letter/a/ed655f/32.png) [@amalg](https://meta.discourse.org/u/amalg)
#### Post date: [12월 11, 2020, 5:43오후 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/4 "2020-12-11T17:43:53Z")

</div>

제이, 감사합니다.

컨테이너가 시작되고 있었습니다. _ **docker top** _ 명령을 사용해서 컨테이너 내부에서 nginx가 실행 중임을 확인했고, 바로 그 인스턴스가 http 502 “bad gateway” 오류를 발생시키고 있었습니다. 컨테이너를 중지한 뒤 _ **connection refused** _ 오류가 발생했으므로, 컨테이너는 실행 중이었지만 discourse가 제대로 실행되지 못하고 있었던 것입니다.

혹시 launcher 유틸리티를 사용하면 컨테이너 내부에서 discourse 애플리케이션이 시작되어야 한다는 말씀이신가요? 아니면 컨테이너 내부에서 직접 실행해야 하나요?

무지를 용서해 주십시오.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [12월 11, 2020, 6:06오후 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/5 "2020-12-11T18:06:59Z")

</div>

재구축이 실패하면 보통 start 명령어로 기존 컨테이너를 시작할 수 있다고 말하는 거예요.

Rails가 완전히 시작되기까지 시간이 좀 걸리기 때문에 1~2분 동안 502 오류가 발생하는 건 당연한 일입니다.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [1월 10, 2021, 6:07오후 UTC](https://meta.discourse.org/t/rebuild-fails-with-git-reset-hard-origin-tests-passed-failed-with-return/172943/6 "2021-01-10T18:07:10Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
