GitHub 저장소인 discourse와 discourse_docker를 이해하려고 합니다

사이트가 셀프호스팅으로 운영될 때를 위한 SOP(표준 운영 절차)를 작성하고 있는 중인데, 오리 :duck: 에게 discourse와 discourse_docker라는 GitHub 저장소 간의 차이를 설명하려 하고 있습니다.

아래에는 그런 셈으로 볼 수 있는 세 가지 증거가 있습니다.


Discourse를 처음 설치할 때 discourse_docker 저장소가 사용됩니다.

groot@galaxy:~$ git clone https://github.com/discourse/discourse_docker.git /var/discourse

이곳의 게시물들을 읽다 보니, 고객이 사용하는 브랜치가 tests-passed라고 언급되어 있습니다. discourse_docker 저장소를 확인해 보니 tests-passed 브랜치는 찾을 수 없었지만, discourse 저장소를 확인해 보니 tests-passed 브랜치는 찾을 수 있었습니다.


discourse_docker에서 tests-passed에 대해 살펴보면, tests-passed는 samples 디렉토리의 standalone.yml 파일에서 찾을 수 있지만, discourse_docker에서는 app.yml과 유사한 사이트 설정 파일에서 tests-passed는 찾을 수 없습니다.


바시 트레이싱을 활성화한 상태로 launcher rebuild app를 실행하면, 예를 들어

groot@galaxy:/var/discourse$ sudo bash -x launcher rebuild app

다음과 같이 기록됩니다.

I, [2020-06-07T23:49:27.550542 #1]  INFO -- : > cd /var/www/discourse && git pull
From https://github.com/discourse/discourse

누군가 이 모든 것을 설명해 주셔서 오리가 :duck: 이해할 수 있게 해 주시겠습니까?

Discourse_docker는 discourse를 실행하는 docker 컨테이너를 빌드합니다. 이 도구는 discourse를 다운로드합니다. Discourse docker가 새 컨테이너를 빌드할 때 discourse를 다운로드하는 데 사용되는 app.yml 파일에서 Discourse의 Branch(또는 커밋)를 설정할 수 있습니다.

서버에서 Docker 컨테이너를 실행하기 위해 운영자가 discourse_docker 저장소를 클론합니다.

Docker 컨테이너 내부에서 Discourse 애플리케이션을 실행하기 위해 스크립트가 discourse 저장소를 클론합니다.