Jenkins Pipeline

Die neue Pipeline Funktion von Jenkins kann mit Jenkins 1.x und 2.x verwendet werden. Bei Jenkins 2.x gibt es aber auch noch ein Plugin um die einzelnen Stages in einer View zu visualisieren.

Für die Pipeline gibt es auch einen Snippet Generator unter http://localhost:8080/jenkins/job/Pipelinetest/pipeline-syntax/.

Mit dessen Hilfe kann man für die meisten Anwendungsfälle Snippets generieren und diese dann nach den eigenen Anforderungen anpassen.

Der Beispiel Code für einen Github checkout und Maven aufruf sieht dabei wie folgt aus:

Dabei sieht man auch die Änderungen bei Jenkins 2, das Thirdparty Komponenten wie Maven über Variablen und nicht mehr über Pfad Angaben in der Konfiguration gemanagt werden. Die „stage“ aufrufe bilden dabei die einzelnen Schritte welche auch in der Stage View sichtbar sind.

Slim und Ionic und CORS

Wer sich mit Slim und Ionic ein kleine App und Rest Api bauen möchte, kann schnell mit dem Thema CORS in Kontakt kommen. Besonders beim testen auf der lokalen Maschine.

Damit es auch lokal funktioniert. Müssen die folgenden Zeilen am Anfang der index.php hinzugefügt werden (am besten ganz oben):

Dabei kann man natürlich auch die Freigabe auf bestimmte Domains einschränken. Falls man diese drei Zeilen jedoch nicht hinzufügt, erhält man bei einem http.get(…) die folgende Fehlermeldung:

Installation Jenkins 2.x mit Tomcat

Im folgenden Beitrag beschreibe ich die Installation eines Jenkins 2.x in einem Tomcat8. Es ist auch möglich den Jenkins ohne Tomcat laufen zu lassen.

Schritt 1

Installation Tomcat8 unter Linux mit

alternativ kann auch die aktuelle Version unter https://tomcat.apache.org/download-80.cgi heruntergeladen werden und entpackt werden. Dieses Vorgehen ist für Windows zu empfehlen.

Unter Linux ist der Tomcat nach der Installation unter /var/lib/tomcat8/ zu finden.

tomcat8

Schritt 2

Damit Jenkins im Tomcat richtig starten kann, muss JENKINS_HOME im Tomcat Environment gesetzt werden. Alternativ kann JENKINS_HOME auch als Umgebungsvariable gesetzt werden, was aber das betreiben mehrerer Jenkinses auf einem Server verhindert.

Der folgende Code wir in der Datei conf/context.xml eingefügt: Continue reading “Installation Jenkins 2.x mit Tomcat”

Spring Boot – autoreload

Wer bei Spring Boot auch die Autoreload funktion haben möchte, muss die dependencie devtools einbinden:

Dann wird bei jeder Änderung im Classpath, die Anwendung restartet.

Weitere Einstellungsmöglichkeiten findet ihr unter http://docs.spring.io/spring-boot/docs/1.3.x-SNAPSHOT/reference/html/using-boot-devtools.html

Ionic – Anzeigen des Settings Menü GPS

Damit man mit Ionic dem User auch Anzeigen kann das die GPS Daten nicht vorhanden sind und er diese im Settings Menü ändern muss, braucht man die folgenden beiden Plugins

cordova-plugin-request-location-accuracy

cordova-diagnostic-plugin

Mit diesen kann man abfrage ob GPS aktiviert ist und auch den Benutzer zum jeweiligen Menü des OS zu schicken. Damit ist es wie in einer normalen Android App möglich ein “Bitte aktivieren Sie Google Standortdienste” Fenster anzuzeigen.

Spring Boot – Externe Template Dateien verwenden

Spring Boot – Thymeleaf FileTemplateResolver

Wer eine Spring Boot Anwendung baut möchte vielleicht das ein Frontend Entwickler sich um die Thymeleaf Seiten kümmert. Damit aber Spring Boot nicht bei jeder Änderung neugestartet werden muss und der Entwickler einfach das vorhandene jar/war verwenden kann, muss man einen FileTemplateResolver hinzufügen.

Spring Boot selbst liefert keine Implementierung des FileTemplateResolver, deswegen muss man ihn per @Configuration selbst hinzufügen. Wichtig ist auch das dieser mit @PostConstruct erzeugt wird.

Wenn man die folgende Methode integriert hat kann man seine Anwendung mit – Continue reading “Spring Boot – Externe Template Dateien verwenden”

Install NodeJs and npm with Plesk

Falls Nodejs unter Linux bei einer vorhanden Plesk Installation installiert wird, wid Plesk beim installieren von nodejs deinstalliert.

Um dies zu verhindern, muss man folgende Befehle ausführen:

danach das ganze testen

Sollte bei Entfernen, immer noch plesk Pakete auftauchen – kann npm auch mit

installiert werden, aber vorher “nodejs” per apt-get installieren.

Falls alles stimmt und keine Plesk Pakete bei entfernen auftauchen mit

installieren.

Damit jetzt auch noch “node” in der shell aufgerufen werden kann und nicht nur nodejs folgendes auf der Commando Zeile eingeben:

Easy and free Tools for Development, Ideas and Projects

Falls ich eine Idee entwickeln möchte und dies mit anderen zusammen – muss ich dafür Geld investieren?

Nein, es gibt viele Projektmanagement Tools und Plattformen wo für den Anfang die free Version ausreicht.

Projektmanagement:

  • Workboard – bietet viele Möglichkeiten die Tasks eines Projektes zu managen und kommt zudem noch mit Reports
  • Trello – Kanban Board mit flexiblen Spalten und mehreren Boards
  • Producteev – Task Manager
  • Bitbucket und Github – einfache Taskfunktion

Zu Kommunikation zwischen mehreren Teammitgliedern bietet sich Slack an. Es kann mit mobilen Geräten aber auch am Desktop verwendet werden.

Zum bearbeiten von Notizen oder Dateien bietet sich neben Dropbox und GoogleDrive auch Evenote an. Es ist ein digitales Notizbuch und wer nur Notizen erstellen möchte (auch mit Bildern) dem dürfte Evernote weiterhelfen.