[{"data":1,"prerenderedAt":209},["ShallowReactive",2],{"slug-content-de-\u002Fprojects\u002Fftptogit":3},{"kind":4,"item":5,"categories":55},"project",{"id":6,"title":7,"body":8,"dateEnd":40,"dateStart":40,"description":41,"extension":42,"featuredInCv":43,"link":44,"meta":45,"navigation":46,"path":47,"repo":44,"seo":48,"stem":49,"tags":50,"__hash__":54},"projects_de\u002Fprojects\u002Fftptogit.md","FtpToGit",{"type":9,"value":10,"toc":34},"minimark",[11,16,24,28],[12,13,15],"h2",{"id":14},"über-das-projekt","Über das Projekt",[17,18,19,20,23],"p",{},"Ich wurde von einer Webagentur dazu beauftragt ein Tool zu entwickeln, welches ihnen hilft Konfigurationsänderungen an Kundenservern zu protokollieren.",[21,22],"br",{},"\nAuf Wunsch der Agentur wurde dies mit Laravel Lumen entwickelt, eine abgespeckte (für Konsolenanwendungen optimierte) Version von Laravel.",[12,25,27],{"id":26},"funktionsweise","Funktionsweise",[17,29,30,31,33],{},"Das Tool kann für beliebige Kundenserver konfiguriert werden, mit einzelnen exclude listen im Glob style, analog zu einer .gitignore Datei.\nNach Verbindungsaufbau mit dem Server des Kunden werden die Dateien auf Änderungen überprüft und anschließend in einem lokalen Git-Repository protokolliert, welches dann auf einen remote Git Server gepusht wird.",[21,32],{},"\nSomit wird die hervorragende Versionskontrolle von Git genutzt, um sämtliche Konfigurationsänderungen zu protokollieren, im Agentur Alltag vereinfacht dies die Fehlersuche immens.",{"title":35,"searchDepth":36,"depth":36,"links":37},"",2,[38,39],{"id":14,"depth":36,"text":15},{"id":26,"depth":36,"text":27},"2019-12","Laravel-Konsolenanwendung zum Monitoring eines entfernten FTP-Hosts.","md",false,null,{},true,"\u002Fprojects\u002Fftptogit",{"title":7,"description":41},"projects\u002Fftptogit",[51,52,53],"php","laravel","git","kPCf49NRu_0W_jYN9p132V9ZSv-omUUxbSXpNRK4KvU",[56,65,86,107,135,147,156,165],{"name":57,"items":58},"Datenbanken",[59,62],{"slug":60,"name":61},"sql","SQL (MySQL, MariaDB)",{"slug":63,"name":64},"sqlite","SQLite",{"name":66,"items":67},"Frontend",[68,71,74,77,80,83],{"slug":69,"name":70},"html5","HTML5",{"slug":72,"name":73},"css3","CSS3",{"slug":75,"name":76},"tailwindcss","Tailwind CSS",{"slug":78,"name":79},"bootstrap","Bootstrap",{"slug":81,"name":82},"uikit","UIkit",{"slug":84,"name":85},"extjs","Ext JS",{"name":87,"items":88},"JavaScript-Ökosystem",[89,92,95,98,101,104],{"slug":90,"name":91},"javascript","JavaScript",{"slug":93,"name":94},"typescript","TypeScript",{"slug":96,"name":97},"nodejs","Node.js",{"slug":99,"name":100},"vuejs","Vue.js",{"slug":102,"name":103},"nuxt","Nuxt.JS",{"slug":105,"name":106},"deno","Deno",{"name":108,"items":109},"Backend",[110,112,114,117,120,123,126,129,132],{"slug":51,"name":111},"PHP",{"slug":52,"name":113},"Laravel",{"slug":115,"name":116},"symfony","Symfony",{"slug":118,"name":119},"laminas","Laminas",{"slug":121,"name":122},"mezzio","Mezzio",{"slug":124,"name":125},"zend","Zend Framework",{"slug":127,"name":128},"wordpress","WordPress",{"slug":130,"name":131},"shopware","Shopware",{"slug":133,"name":134},"spryker","Spryker",{"name":136,"items":137},"Mobile",[138,141,144],{"slug":139,"name":140},"dart","Dart",{"slug":142,"name":143},"flutter","Flutter",{"slug":145,"name":146},"android","Android",{"name":148,"items":149},"Weitere Sprachen",[150,153],{"slug":151,"name":152},"java","Java",{"slug":154,"name":155},"python","Python",{"name":157,"items":158},"Betriebssysteme",[159,162],{"slug":160,"name":161},"linux","Linux",{"slug":163,"name":164},"windows","Windows",{"name":166,"items":167},"Sonstiges",[168,170,173,176,179,182,185,188,191,194,197,200,203,206],{"slug":53,"name":169},"Git",{"slug":171,"name":172},"docker","Docker",{"slug":174,"name":175},"jenkins","Jenkins",{"slug":177,"name":178},"jvm","JVM",{"slug":180,"name":181},"aws","AWS",{"slug":183,"name":184},"cloudflare","Cloudflare",{"slug":186,"name":187},"nginx","Nginx",{"slug":189,"name":190},"redis","Redis",{"slug":192,"name":193},"networking","Netzwerk",{"slug":195,"name":196},"rabbitmq","RabbitMQ",{"slug":198,"name":199},"oidc","OIDC",{"slug":201,"name":202},"rest","REST",{"slug":204,"name":205},"terraform","Terraform",{"slug":207,"name":208},"cicd","CI\u002FCD",1782416852520]