LINUX.ORG.RU

Как деплоить?

 


1

1

Здравствуйте. Я ни разу не деплоил. Подскажите, я правильно деплою?

set -e

URI="192.168.88.243"
USSH="ssh user@$URI"
RSSH="ssh root@$URI"

ROOT="/home/user"

$RSSH "systemctl stop hiawatha"

$USSH "mkdir -p ~/coolmaster"

rsync -a --delete --progress ./ "user@$URI:~/coolmaster"
rsync -a --delete --progress ../lualibs "user@$URI:~/"
rsync -a --delete --progress ../jslibs "user@$URI:~/"

$USSH "cd ~/coolmaster/build; lua gen_configs.lua production"
$USSH "cd ~/coolmaster/cm; ./build"

$RSSH "ln -fs $ROOT/coolmaster/hiawatha.conf /etc/hiawatha/hiawatha.conf"
$USSH "ln -fs ~/jslibs ~/coolmaster/web/jslibs"

$RSSH "systemctl daemon-reload"
$RSSH "systemctl start hiawatha"
★★★★★

Пакет религия не позволяет собрать?

Reset ★★★★★ ()
Ответ на: комментарий от Reset

А это идея! У меня же тут целый пакетный менеджер в систему встроен. Как-то я об этом не подумал

makoven ★★★★★ ()

bash-скрипты, никакого версионирования, сборка на стороне production-сервера - Veteran Unix Admins плачут слезами умиления.

alpha ★★★★★ ()
Ответ на: комментарий от erfea

Вспомнилось, как однажды зашел в церковь с systemctlруками в карманах. Подбежала разгневанная бабка и начала причитать )

makoven ★★★★★ ()
Ответ на: комментарий от alpha

bash-скрипты

Какие ваши предложения?

сборка на стороне production-сервера

На десктопе x64, а в продакшене ARM6

makoven ★★★★★ ()
Ответ на: комментарий от makoven

Ну да есть сходство у этой бабки с поклониками слаки.

erfea ★★★★★ ()

ROOT=«/home/user»

по крайней мере ~user

Но вообще у нормальных людей APP_ROOT должен быть отдельной переменной и эта переменная должна использоваться везде вместо захардкоженного '~/coolmaster'.

alpha ★★★★★ ()
Ответ на: комментарий от alpha

bash-скрипты
fabric

def something():
    with cd('/var/www'):
    run('ls') # cd /var/www && ls
    with cd('website1'):
        run('ls') # cd /var/www/website1 && ls
makoven ★★★★★ ()
Ответ на: комментарий от anonymous

Как он мне поможет делать всякую системную рутину в процессе развертывания?

makoven ★★★★★ ()
Ответ на: комментарий от erfea

Прошу прощения. Спутал Патрика с Поттерингом

makoven ★★★★★ ()
Ответ на: комментарий от makoven

На десктопе x64, а в продакшене ARM6

там у тебя бинарники какие-то? Тогда кросс-компиляция.

leave ★★★★★ ()
Ответ на: комментарий от makoven

фабрика - это все ж немного больше, чем обертка над баш-скриптами. У нас, например, в ней генератор конфигов и подготовка окружения (той его части, которая под папет плохо ложится).

А вот что ты будешь делать, когда тебе надо будет одну строчку в конфиге поправить - я пока плохо представляю.

leave ★★★★★ ()
Ответ на: комментарий от leave

Фабрика, puppet, кросс-компиляция, git. Мне жизни не хватит всё это освоить ) Наваял генератор конфигов в 20 строчек с использованием mustache

makoven ★★★★★ ()
Ответ на: комментарий от makoven

Если у тебя продакшен это одна железка с одной софтиной, и ты совершенно точно уверен, что так и оно и останется во веки веков - оставляй как есть. В противном случае начни со контроля версий и кросс-компиляции. За неделю максимум освоишь.

leave ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.