(구버전) GitHub Codespace에서 Discourse 개발 환경 설정하기


GitHub Codespaces를 이용한 개발

GitHub Codespace는 훌륭한 개발 옵션입니다. 클라우드에 호스팅되므로, 여기에서 개발하는 모든 사람이 동일한 환경을 가질 수 있도록 쉽게 보장할 수 있고, 로컬 docker 설치와 씨름할 필요가 없으며, 로컬 개발 인스턴스를 공개적으로 사용 가능하게 만드는 데 쉽게 접근할 수 있고, 새로운 기술을 사용하는 것 자체가 재미있기 때문입니다.

저는 현재 개발을 다시 배우고 있으며, Discourse 개발을 배우는 것 외에도 GitHub Codespaces를 배우기로 결정하여, 로컬 환경을 설정하는 대신 GitHub Codespace에서 Discourse를 개발하려는 다른 사람들을 위해 이 가이드를 만들었습니다.

저는 GitHub Codespace에서 이를 작동시키기 위해 여러 문제를 겪은 후 이 가이드를 작성하기로 결정했습니다:

이 가이드는 아무것도 전제하지 않으므로, 여러분이 실행할 수 있도록 하는 단계를 하나도 놓치지 않습니다. GitHub Codespace 구성의 코어 저장소 수준에서 이 과정의 일부가 개선될 수 있거나, 적어도 제 이해 부족으로 인해 그럴 수 있다고 추측합니다. 이러한 점을 지적하는 것을 주저하지 마세요.

Discourse 저장소 포크하기

  1. https://github.com/discourse/discourse로 이동하세요.

  2. 페이지 오른쪽 상단의 Fork 버튼을 클릭한 후, 다음 페이지에서 녹색 ‘Create fork’ 버튼을 클릭하세요.

  3. 잠시 후, discourse/discourse 저장소의 새로운 포크로 이동합니다:

GitHub Codespace 설정하기

  1. 녹색 <> Code 버튼을 클릭하세요.

  2. Codespaces 탭으로 전환하고 녹색 Create codespace on main 버튼을 클릭하세요.

  3. GitHub가 여러분의 codespace를 생성하기 시작하는 새로운 창으로 이동합니다. 이 과정에는 1~3분이 걸립니다:
    chrome_LYoRTOWojo

  4. 몇 분 후, 여러분의 GitHub Codespace(브라우저에서 실행되는 VS Code)가 표시됩니다:

Codespace 환경 설정

실행할 수 있도록 하기 전에 codespace 환경에 몇 가지 구성을 해야 합니다.

  1. Windows/Linux에서는 Ctrl + Shift + 백틱, Mac에서는 Cmd + Shift + 백틱을 클릭하여 새로운 bash 셸을 생성하세요. 셸은 /var/www/discourse 디렉터리에서 시작해야 합니다.

  2. discourse 디렉터리로 이동하세요:

cd workspace/discourse

  1. 프로젝트 Gemfile에서 모든 것을 설치하세요.
bundle install --gemfile ./Gemfile

명령어는 꽤 길지만, 다음과 같은 것을 볼 수 있습니다:

  1. development.rb에 새로운 config.hosts를 추가하세요.
    1. 현재 있는 디렉터리(/var/www/discourse/workspace/discourse)에서 config/environments/development.rb 파일을 열세요.
    2. config.hosts << /\A(([a-z0-9-]+)\.)*localhost(\:\d+)?\Z/ 줄을 찾아 그 아래에 다음 내용을 가진 새 줄을 생성한 후 파일을 저장하세요:
config.hosts << /^(.*)\.app\.github\.dev$/

파일의 끝부분은 다음과 같이 보야 합니다(제 스크린샷에서 102번 줄을 참고하세요):

  1. 터미널로 돌아가서 첫 번째 관리자 계정을 생성하려면 bundle exec rake admin:create를 실행하세요. 명령어는 이메일과 비밀번호를 선택하라고 묻습니다(비밀번호는 최소 10자여야 합니다).

엔진 서버 시작하기

서버를 빌드하고 시작하는 데 1~2분이 걸립니다. 이 시점에서 애플리케이션을 실행하고 액세스하는 데 필요한 모든 것을 갖추게 됩니다.

  1. 현재 있는 터미널에서 서버를 시작하려면 다음 명령어를 실행하세요:
bin/ember-cli -u

  1. 콘솔에서 Terminal 탭에서 PORTS 탭으로 전환하세요:

  2. Windows/Linux에서는 Ctrl + 클릭, Mac에서는 Cmd + 클릭을 사용하여 포트 4200의 Forwarded Address를 클릭하면 개발 환경이 나타납니다!

이 가이드가 다른 사람들이 GitHub Codespaces를 시작하는 데 도움이 되기를 바랍니다! :tada:

11개의 좋아요

좋아요, 가볍게 여행할 때 좋은 선택입니다.

2개의 좋아요

내 경우에는 윈도우와 Docker에서 개발하는 것도, 집에서는 유닉스 환경으로 전환하는 것도(직장에서는 유닉스 환경을 사용하긴 하지만) 정말로 원하지 않는다.

모든 것이 내 GitHub 저장소에 바로 있다는 아이디어를 좋아할 뿐이다.

3개의 좋아요

이 가이드는 업데이트가 필요한 것 같습니다. 데이터베이스가 아직 생성되지 않아서 5단계를 실행하면 작동하지 않습니다.

1개의 좋아요

다음 명령을 실행하여 문제를 해결했습니다:

bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/main/linux)

그 다음

bin/rails db:create 
bin/rails db:migrate
RAILS_ENV=test bin/rails db:create db:migrate

이어서

bin/ember-cli -u

그리고 분할 터미널에서

bin/rails admin:create
1개의 좋아요

@jordan-violet 이건 #unsupported-install인 것 같습니다. app.yml 파일을 찾을 수 없어서 플러그인을 설치할 수 없습니다.

플러그인을 설치하려면 Install plugins in your non-Docker development environment 의 단계를 따르시면 됩니다.

3개의 좋아요

플러그인 폴더에서 플러그인 코드 폴더로 심볼릭 링크를 생성합니다

2개의 좋아요

@jordan-violet 이전에 필요했던 모든 우회 방법을 담은 가이드를 만들어 주셔서 감사합니다 :pray:

이제 devcontainer/codespaces 설정에 여러 가지 변경 사항을 병합하여, 포크나 수동 설정 없이도 훨씬 쉽게 시작할 수 있게 되었습니다.

공식 가이드는 다음과 같습니다:

여기 OP(원문) 상단에 공식 가이드로 안내하는 주의를 추가할 예정입니다 :writing_hand:

6개의 좋아요