Dit Python-script automatiseert het deployen van applicaties op basis van Docker Compose.
Backend runtime
Lightweight RDB
Container
Applicaties met weinig traffic kunnen prima draaien op een Docker Compose-setup op een VPS. Voor mij is dit dé manier om applicaties te deployen. Veel CI/CD-oplossingen voelden te zwaar voor mijn behoeften, dus ging ik op zoek naar iets eenvoudigers – en dit werkt perfect!
Wat ik wilde bereiken, was simpel: zodra ik een commit maakte op de main branch van verschillende services binnen mijn applicatie, moesten ze automatisch opnieuw gedeployed worden.
Om dat voor elkaar te krijgen, heb ik een eigen Python-script geschreven dat het volgende doet:
De configuratie is simpel en bevat paden naar de GitHub-repo’s, Dockerfiles, projecten en de Compose-file. Voordat het script start, valideert het eerst deze instellingen. Is er iets mis? Dan krijg je direct een melding.
Via de GitHub API controleert het script op wijzigingen in de main branch. Zodra er een nieuwe commit is, worden de updates automatisch binnengehaald. Bij een zero-downtime deployment wordt eerst een extra container gestart voordat de Docker-image opnieuw wordt gebouwd.
Zodra de nieuwe container draait, wordt de oude netjes afgesloten. Hierdoor ervaren gebruikers vrijwel geen downtime en blijft de applicatie soepel draaien.
Het script is grotendeels geschreven in Python en blijft lekker lichtgewicht met minimale dependencies. Daarnaast gebruik ik een SQLite-database.
Dit project heeft me veel geleerd over het automatiseren van processen. Het dwong me om het hele proces tot in de puntjes uit te werken, zodat elke stap precies verliep zoals bedoeld.
Goede logging bleek hierbij onmisbaar—vooral op momenten dat het misgaat. Dan is het cruciaal om snel en volledig inzicht te hebben in wat er is gebeurd.
Een applicatie ontworpen om gemakkelijk je bonnetjes en uitgaves bij te houden.
Voor mijn bedrijf heb ik een project ontwikkeld als onderdeel van een selectieprocedure voor een stage in de software shorttrack. Dit project diende als toelatingseis,
Een mobiele web applicatie om films en series bij te houden. Ook krijg je informatie over waar deze content te streamen is.
Deze app biedt een eenvoudige manier om verschillende servers en websites te monitoren op responstijd, uptime en aangepaste metrics. Met behulp van overzichtelijke en visueel aantrekkelijke grafieken krijg je snel inzicht in de prestaties van je systemen, zodat je problemen tijdig kunt opsporen en verhelpen.