Если вы читаете этот пост, значит вы и есть кококопротивление!
Опубликовано 24.02.2024 в Blog
Кратко, ибо запись сугубо тестовая.
Как было: написал пост в любом\любимом текстовом редакторе, используя старый добрый markdown с чуть-чуть служебной разметкой для движка pelican. Далее вызовом того самого pelican
слепил из него статику, при необходимости протестировал работу сайта локально (pelican -l
и коннект на локалхост).
Далее следовала та часть, которую я подсмотрел в каких-то бложиках и почти без изменений скопипастил себе: запускается самопальный скрипт, который лепит из сгенерированного пеликаном контента архив и по ssh (scp) заливает его на удаленный хост, куда меня же по ssh и логинит, чтобы там уж я содержимое архива положил в нужные папочки под юзером с нужными правами. Почему ручная работа? Потому что логин по ssh под привилегированными пользователями у меня запрещен, разумеется, из параноидальных соображений.
И не то чтоб это сильно меня напрягало (скопипастить две команды, которые тот же скрипт мне в виде подсказки и выводит), но как-то смущала всё-таки эта недоавтоматизированность... А тут я еще взял моду бэкапить важный контент (конфиги там всякие и т.п.) на github. Собственно, а почему бы тогда мне не синкаться старым добрым git?
Как стало: после написания статьи (да хоть бы и вот этой) делается git add . && git commit -m "блабла" && git push
. На этом всё, на локальной машине больше телодвижений не требуется. А на удаленном хосте по cron запускается периодически скриптик, который делает git fetch
, смотрит, есть ли изменения, если есть, делается git pull
и нужное файло копируется в нужные места автоматически, без человеческого участия.
И если вы видите этот пост, то оно работает!!!
P.S. В crontab
для root переопределяется PATH, так что если нужно там вызывать что-то поставленное из пакетов, нужно прописывать полный путь.