Если вы читаете этот пост, значит вы и есть кококопротивление!

Опубликовано 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, так что если нужно там вызывать что-то поставленное из пакетов, нужно прописывать полный путь.