Questions & Answers

dspieser
Returning Observer

Entwicklungsprozess Erfahrungen

Hallo Community,

wir beabsichtigen unseren Entwicklungsprozess zu optimieren und zu verteilen.

Nun wรผrden mich eure Erfahrungen der Entwicklung in externen IDEs interessieren und wie Ihr euren Entwicklungsprozess aufgestellt habt.

Welche Tools/ IDE benutzt ihr?

Verwendet Ihr die FSDevTools?

Wie automatisiert Ihr?

Ich wรผrde mich รผber eine rege Diskussion und fruchtbaren Austausch freuen.

GrรผรŸe

Dietmar

2 Replies
felix_reinhold
Returning Responder

Hallo Dietmar,

erstmal zum Thema IDE: Hier habe ich mich beim Templating mittlerweile mit dem Arbeiten im SiteArchitect abgefunden. Ich habe in den letzten 10 Jahren verschiedene Integrationen angefangen zu entwickeln (eclipse, notepad++, intellij und atom) und damit rumgespielt, aber der Aufwand fรผr eine Integration mit Autocompletion fรผr verfรผgbare Variablen im Scope war mir immer zu aufwendig und ohne das bringt es mir keinen Mehrwert. Ich nutze auch den TemplateDebugger im Regelfall nicht, da er mir schon mehrfach richtig Probleme gemacht hat und man mit der Zeit ja eigtl. immer direkt weiรŸ, an welcher Stelle ein Fehler auftreten kann. Wenn ich aber mit FirstSpirit Neulingen arbeite empfehle ich ihnen i.d.R. die Nutzung des Debuggers.

Bei Modulentwicklung arbeite ich klassisch mit eclipse und teilweise auf Kundenumgebungen mit IntelliJ. Sehe hier aber keine groรŸen Vor- oder Nachteile bei einer der IDEs. Hier ist eigtl. alles was ich benรถtige Standard Java-AutoCompletion, RemoteDebugging und eine SonarLint-Integration.

Ansonsten sieht mein Entwicklungsprozess i. d. R. wie folgt aus:

  • Fรผr jeden Kunden habe ich einen oder mehrere Docker Container, die mรถglichst nah an der Kundeninfrastruktur sind. Wenn eine Anfrage vom Kunden kommt fahre ich mir also nur den entsprechenden Container hoch und kann loslegen.
  • Im Docker mounte ich fรผr jeden Kunden ein Verzeichnis, dass die git-repos (Templates und Module) enthรคlt. Beim Startup des Containers habe ich nur eine Abfrage drin, ob die repos aktualisiert und eingespielt werden sollen, oder nicht. Der Build und Import lรคuft dann automatisch รผber ein Shell-Skript.
  • Das Einspielen der Templates erfolgt im Regelfall รผber die FSDevTools und teilweise noch รผber eigene Tools bei รคlteren Projekten. Das Einspielen der Module lรคuft generell รผber ein eigenes Tool bei mir.
  • Bei meiner lokalen Entwicklung nutze ich kein Gitlab CI o. รค.. Die Projekte bei denen ich lokal mehrere Stages habe werden noch รผber ein eigenes Tool synchronisiert. Bei Kunden habe ich aber teilweise Gitlab CI dafรผr im Einsatz.
  • Fรผr die Jars habe ich ein gemeinsames Artifactory fรผr alle Projekte - zwar auch รผber Docker, aber es lรคuft eigtl. immer. Deployen ins Artifactory ist im Build der Module integriert.
  • Fรผr das Linting habe ich einen gemeinsamen SonarQube-Server fรผr alle Projekte. Da habe ich bisher leider nichts automatisiert in Builds o. รค.
  • Das Bauen von Modulen lรคuft bei mir zum GroรŸteil noch รผber Maven

Zusammenfassung:

  • Template-Entwicklung direkt im SA ohne IDE und Debugger
  • Template-Verteilung รผber FSDevTools und eigene Tools
  • Modul-Entwicklung in eclipse
  • Modul-Installation รผber eigene Tools
  • Ohne Docker geht nichts ๐Ÿ˜‰

Viele GrรผรŸe

Felix

Hallo Felix,

vielen Dank fรผr deine ausfรผhrliche Beschreibung.

Das ist in etwa wie wir es aktuell auch machen, wir entwickeln im SA die Templates und Module in Eclipse.

Wir haben ein Master Projekt bei dem wir die Templates รผber Corporate Content in die Projekte verteilen.

Die Module halten wir auch schon in einem Repository.

Bei den Veranstaltungen von e-Spirit werden immer wieder Code / Live - Coding  Beispiele gezeigt bei denen Sie mit FSDevTools ganz einfach synchronisieren, verteilen und entwickeln. Wir uns aber immer mรผhsam die Daten hin und her schaufeln mit Export, Import und Paketverteilung รผber Corporate Content.  

Wir haben uns einen theoretischen Entwicklungsworkflow รผberlegt und suchen nun die richtigen Werkzeuge.

Es gibt ja bereits Plugins fรผr Visual Studio Code oder Intellij.

Die Idee:

Aktuellen Stand aus dem Repo holen, ร„nderung einbauen mit FSDevTools in ein Testprojekt/System schieben (Entwickler testen).
Danach in ein QS-Projekt/System schieben durch QS-Team testen lassen.

AnschlieรŸend ins GIT einchecken, in das Master Projekt mittels FSDEvTools schieben und รผber Paketverteilung in die Produktivprojekte verteilen.

Wenn wir diesen ProzeรŸ verwirklichen kรถnnen wollen wir dann noch mรถgliche Schritte automatisieren.

Vielleicht kommen ja noch Beitrรคge.

GrรผรŸe

Dietmar

0 Kudos

Type a product name