Skip to main content
  1. Blogposts/

Från kod till publikation: så byggde jag min automatiserade bloggpipeline 🚀

·654 words·4 mins· loading · · ·
Rasmus
Author
Rasmus
Att dela en ide eller två kan vara bra för hjärnan
Table of Contents

Introduktion
#

Att publicera ett blogginlägg borde vara enkelt, eller hur? 😅 Tänk dig: du har precis skrivit klart ett fantastiskt inlägg, redigerat bilder och dubbelkollat allt. Sen kommer verkligheten: manuellt uppdatera servern, dra igång skript och hoppas att inget krashar. Det blev min vardag tills jag sa nöjet och byggde en automatiserad pipeline som hanterar allt – från första tangenttryckningen till publicering. Här är berättelsen om hur jag kombinerade Git, Flask och lite tekniskt tålamod för att skapa en bloggmaskin som fungerar.


Bakgrund
#

Innan automatiseringen var min workflow en serie halvdana lösningar. Jag sparade inlägg som Markdown-filer i en mapp som hette ”Klar… typ”, körde Hugo-kommandon manuellt och överblickade serverloggar som en vaktmästare. Det funkade… tills det inte gjorde det. En kväll mitt i en uppdatering kraschade servern, och jag insåg att det var dags för en systemförändring (och kanske en kopp starkt kaffe ☕).

Jag ville ha något som:

  • Tog mina lokala filer och automatiskt publicerade dem
  • Hanterade fel utan att jag behövde vara vakklocka
  • Gjorde det säkert utan att bli en säkerhetsrisk

Så började resan med att sätta ihop GitHub, Flask och Nginx som en väloljad maskin.


Huvudinnehåll
#

🛠️ Byggstenarna: En Teknisk Symphony
#

Min pipeline är som en orkester där varje instrument spelar sin del perfekt:

  1. Lokal utveckling där jag skriver i Markdown och sparar bilder (med tillfälliga filnamn som bild_final_final_2.png).
  2. GitHub som fungerar som det digitala arkivet – varje git push är en fanfar som säger ”Nu kör vi!”.
  3. En Linux-server med Nginx och Flask som dirigent – den tar emot signaler, kör skript och ser till att allt flyter.
  4. Hugo som trollkarlen som omvandlar mina rader text till en vacker webbplats.

🔄 Automatiseringens Magi: Från Push till Live
#

När jag skickar upp ett inlägg till GitHub händer detta bakom kulisserna:

  • GitHub skickar en webhook (en digital knuff) till min server via en POST-förfrågan.
  • Nginx, som är serverns väktare, låter bara igen seriösa förfrågningar (inget skumma API-anrop här inte!).
  • Flask-appen, skriven i Python, fångar upp knuffen och startar en kedja av händelser:
    • git pull för att hämta nya filer (som att dra ner en tidningsupplaga direkt till tryckeriet).
    • hugo körs för att generera sidor (som en författare som översätter tankar till bokstavsmagi).
  • Nginx uppdaterar sedan webbplatsen sömlöst – besökare märker inget förutom att inlägget plötsligt finns där.

🛡️ Säkerhet Utan Drama
#

En av mina största farhågor var att öppna en säkerhetslucka. Lösningen?

  • IP-whitelisting i Nginx så att bara GitHub kan skicka webhooks.
  • Systemd som övervakar Flask-appen – om den kraschar, startar den om sig själv (som en Phoenix i tekniskt format).
  • Loggar för allt: Nginx loggar varje förfrågan, Flask antecknar varje git-pull, och om något går fel, finns det spår att följa.

🚨 När Det (Oundvikligen) Går Fel
#

Ingen pipeline är perfekt. En gång glömde jag committa en bildfil, och webbplatsen visade ett trasigt bildlänk. Men tack vare loggarna hittade jag felet på 5 minuter. En annan gång krashade servern efter en strömavbrott – men systemd startade om appen automatiskt. Det är som att ha en osynlig tekniker som fixar saker åt en.


Slutsats
#

Idag kan jag skriva ett inlägg på morgonen, pusha det med en kopp kaffe i handen, och veta att resten sköter sig självt. Det här projektet har lärt mig att:

  • Automatisering är värt tiden – den sparar timmar i längden (och nervceller).
  • Enkelhet är nyckeln – varje steg i pipelinen gör en sak, men gör den bra.
  • Fel är lärorika – varje crash var en chans att göra systemet mer robust.

Om du funderar på att automatisera din egen blogg – gör det. 🛠️ Börja smått, använd verktyg du redan känner (Git, Hugo), och bygg sedan långsamt på. Och kom ihåg: den bästa pipelinen är den som låter dig fokusera på det viktiga – att skriva.

För nu, när allt flyter, finns det inget vackrare än att se orden bli till en webbplats med ett enkelt git push. 🚀