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

Проверяю, как работает публикация записей в блоге через github

Опубликовано: 2024-02-24

Категория: Blog

Теги: git github www pelican

Кратко, ибо запись сугубо тестовая.

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