Foreman/разработка
Разработка пакета Foreman
Обновление пакета
Исходный код пакета находится в gear-репозитории: git://git.altlinux.org/gears/f/foreman.git.
Добыть изнова репозиторий можно так:
cd /path/to/gears/ git clone git://git.altlinux.org/gears/f/foreman.git
Обновление исходников
Исходный код проекта находится в репозитории: https://github.com/theforeman/foreman.git. Склонировав его или обновив существующее дерево до современного состояния, включая теги, необходимо приложить заплатку из текущей версии пакета: /path/to/gears/foreman/alt.patch , при необходимости исправив ошибки наложения.
Добыть изнова репозиторий можно так:
git clone https://github.com/theforeman/foreman.git
или съ добавленіемъ удалённаго схова
git remote add upstream https://github.com/theforeman/foreman.git
А обновить так:
git remote update
Вытягивание метки:
git checkout <tag> -b alt
Наложить заплатку на уже вытянутую или обновлённую ветку:
git apply /path/to/gears/foreman/alt.patch
Создание скриптов клиентской части foreman
Вытянем последнюю версию, предварительно проанализировав метки, и доустановим все зависимые жемы для руби:
git checkout v3.0.0 -b _3.0.0 RAILS_ENV=production bundle
Настройки
1. Необходимо создать файлъ config/database.yml, напримѣръ изъ config/database.yml.example
2. Запускъ движка базъ данныхъ:
systemctl restart postgresql
3. Создаёмъ пользователя БД:
createuser -U postgres majioa --createdb --inherit --login --createrole --superuser 2>/dev/null || true
3. Созданіе базы и миграція данныхъ:
RAILS_ENV=production bundle exec rake db:create db:migrate
Создание web
Устанавливаемъ или используемъ для сборки npm пакетовъ старый node (< 16):
apt-get install nvm usermod -G nvm $(whoami) nvm install 14 nvm use 14
Обновляем npm пакеты для создания целевого js:
RAILS_ENV=production npm install
В текущем дереве исходников foreman-а запустим задачу, где /path/to/gears/foreman путь к репозиторию foreman в gears:
RAILS_ENV=production bundle exec rake alt:build[/path/to/gears/foreman]
Теперь в папке public репозитория находится новое дерево клиентских скриптов для сайта foreman-а.