Hallo liebe Breadfish Community
in einem Projekt mit einem SA:MP Server haben wir den gesamten Entwicklungsablauf auf Agile Softwareentwicklung mit Daily-Build und Continuous Integration umgestellt.
Wir haben den gesamten Entwicklungsprozess auf ein für SA:MP Entwicklung untypisch professionelles Level gehoben und konnten die Effizienz der Entwickler, gemessen an der Arbeitszeit in Relation zugeschriebenem Code, um mehr als 50% steigern.
In diesem Beitrag möchte ich kurz erklären in wieweit wir den Vorgang umgestellt haben, wie das Resultat für die Entwickler aussieht und was getan werden muss um auch bei euch diese Methoden einzuführen.
___________________________________________________________
VORAB:
Dieses Angebot richtet sich nicht an Spaßprojekte! Uns ist bewusst, dass die Preise hierfür SA:MP untypisch sind jedoch zeigen die Referenzen dass es sich für größere Server durchaus lohnt.
___________________________________________________________
Was ist agile Softwareentwicklung und was bringt es in der Entwicklung von Gamemodes?
Agile Softwareentwicklung bezeichnet einen Ansatz im Prozess der Transparenz und Flexibilität erhöhen soll. Ziel ist es die Software schneller live zu bringen und somit Zeit zu sparen. Wir arbeiten hierbei mit Scrum und schulen das gesamte Projektteam mit Projektmanagement-Software.
Was genau Scrum ist und wie es funktioniert findet ihr hier:
https://de.wikipedia.org/wiki/Scrum
https://scrum-master.de/Was_is…_auf_einer_Seite_erklaert
___________________________________________________________
Was ist Continuous Integration & Daily Build?
Was genau das ist findet sich ebenso in den gängigen Suchmaschinen, ich möchte hier erklären wie es bei unserem Kunden funktioniert.
Alles basiert darauf, dass die Scripter ihre Änderungen in ein Repository pushen und dort mitgeben was mit dem jeweiligen Push geändert wurde:
Das sollte zu heutigem Stand ohnehin bei jedem Server der Stand sein.
Nun gibt es folgenden Ablauf:
1. Daily Build
Jeden Tag um 06:00 Uhr morgens nimmt der Buildserver die gepushten Änderungen aus dem Repository, kompiliert sie vollautomatisch auf den Testserver und stellt sie über ein Webfrontend den Entwicklern bereit. Danach wird der Testserver neugestartet und die Entwickler werden über ein Nachrichtentool (Slack) darüber informiert.
Sollte etwas nicht funktionieren, so erhält der Entwickler aus dessen Änderungen ein Fehler resultiert eine direkte Nachricht in Slack und er wird gebeten den Fehler zu beheben.
Die Servertester erhalten somit jeden Morgen ab 06:00 Uhr die aktuellste Version und können mit dem Testen beginnen.
2. Automatic Update
In diesem Fall wird es so, dass jeden Sonntag um 16:00 Uhr alle getesteten Änderungen auf dem Live-Gameserver eingespielt werden. Hier läuft es genauso ab bis die AMX im Webfrontend bereitgestellt wurde. Im Anschluss loggt der Build-Server sich als Administrator auf dem Gameserver ein sendet eine Nachricht an alle User, dass in 5 Minuten ein Update durchgeführt wird. Nach den 5 Minuten wird die Live AMX ersetzt und der Gameserver wird neu gestartet. Sollte es hier einen Fehler geben wird die zuletzt lauffähige Version wieder eingespielt. Als krönender Abschluss werden die Änderungen als Releasenotes im Forum (WBB 5) gepostet.
Da die hier erstellte AMX bereits getestet ist kann es hierbei nicht zu Fehlern kommen. Vorausgesetzt alle beteiligten arbeiten richtig.
___________________________________________________________
Interesse geweckt?
Wir bieten hier die Beratung und betreute Umsetzung dieser Vorgänge bei eurem Projekt an.
Ich bitte um Verständnis, dass man sich jedes Projekt individuell anschauen muss um dann einen Preis zu errechnen.
Alles in allem liegen wir jedoch bei einem Preis von zwischen 400 € und 600 € zzgl. 19 % MwSt. Ihr erhaltet davor ein fixes Angebot.
Ebenso kommen dazu noch Kosten i. H. v. ca. 30 $ jährlich für Softwarelizenzen dazu. Ebenso benötigt ihr einen Root- oder V-Server
Als Zahlungsmethoden steht Überweisung zur Verfügung.
Ihr erhaltet eine Rechnung einer deutschen Gesellschaft inkl. MwSt.
Bei Fragen stehe ich hier im Thread oder per PN gerne zur Verfügung.
___________________________________________________________
Beste Grüße
xinn