(устарело) Руководство по настройке среды разработки Discourse — GitHub Codespace


Разработка с использованием GitHub Codespaces

GitHub Codespace — отличный вариант для разработки. Он удобен тем, что размещен в облаке, позволяет легко гарантировать, что у всех разработчиков одинаковая среда, избавляет от необходимости настраивать локальные установки Docker, упрощает публичный доступ к локальному экземпляру разработки и просто дает возможность использовать новые технологии, что само по себе увлекательно.

В настоящее время я заново изучаю разработку и решил освоить GitHub Codespaces параллельно с изучением разработки для Discourse, поэтому я создал это руководство для всех, кто хочет разрабатывать для Discourse в 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. Создайте новую оболочку bash, нажав Ctrl + Shift + обратный апостроф в Windows/Linux или Cmd + Shift + обратный апостроф на Mac. Ваша оболочка должна открыться в директории /var/www/discourse.

  2. Перейдите в директорию discourse:

cd workspace/discourse

  1. Установите все зависимости из файла Gemfile проекта:
bundle install --gemfile ./Gemfile

Команда довольно длинная, но вы увидите что-то вроде этого:

  1. Добавьте новый файл config.hosts в development.rb
    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, чтобы создать вашу первую учетную запись администратора. Команда запросит у вас выбор email и пароля (пароль должен состоять минимум из 10 символов).

Запустите ваш двигатель сервер

На сборку и запуск сервера уйдет 1–2 минуты. На этом этапе у вас должно быть всё необходимое для запуска и доступа к вашему приложению.

  1. В том же терминале выполните следующую команду для запуска сервера:
bin/ember-cli -u

  1. Переключитесь с вкладки Terminal на вкладку PORTS в вашей консоли:

  2. Нажмите на Forwarded Address для порта 4200, используя Ctrl + клик в Windows/Linux или Cmd + клик на Mac, и вы увидите свою среду разработки!

Надеюсь, это поможет кому-то еще начать работу с GitHub Codespaces! :tada:

11 лайков

Отлично, это хороший вариант для путешествий налегке

2 лайка

Или, в моём случае, я действительно не хочу разрабатывать на Windows и Docker, но также не хочу переходить на Unix-окружение дома (хотя на работе я его использую).

Мне просто нравится идея, что всё находится прямо в моём репозитории 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, что должно значительно упростить запуск работы без необходимости форка или ручной настройки чего-либо.

Вот официальное руководство:

Я добавлю примечание в начало оригинального сообщения, чтобы направить людей к официальным руководствам :writing_hand:

6 лайков