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

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

Proxy Information
Original URL
gemini://muu-online.ru/2024/02/gitsync.gmi
Status Code
Success (20)
Meta
text/gemini;
Capsule Response Time
409.625605 milliseconds
Gemini-to-HTML Time
0.564762 milliseconds

This content has been proxied by September (3851b).