Foreman/разработка

Материал из ALT Linux Wiki

Разработка пакета 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-а.