Boehrsi.de - IT und Gaming Blog

GitHub Actions - Flutter automatisieren und mit Codecov testen

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Actions - Flutter automatisieren und mit Codecov testen Bild

Sowohl GitHub Actions, wie auch Flutter waren bereits häufiger Thema hier im Blog und heute geht es um die Kombination aus beiden. Bei einem Großteil meiner GitHub Projekte nutze ich mittlerweile GitHub Actions für diverse Aufgaben und bei meinen Flutter Projekten sieht dies nicht anders aus.
Aktuell nutze ich Flutter Action open_in_new für die eigentlichen Flutter Befehle, Codecov open_in_new für das automatische Hochladen der Tests und abschließend Dart/Flutter Package Analyzer open_in_new, um das Formatting und meinen Pub.dev Score zu überprüfen. Diese Kombination erlaubt es mir mit nur einem Push einen Build zu analysieren, die Tests auszuführen und direkt bei Codecov zu hinterlegen.

Related Links

Git - Conventional Commits Spezifikation für Commit Messages

Erstellt am event Uhr von account_circle Boehrsi in label Development
Git - Conventional Commits Spezifikation für Commit Messages Bild

Git ist ein tolles Tool um Code und andere Inhalte zu verwalten, egal ob alleine oder gemeinsam. Ich habe mittlerweile alles was nicht nur ein kleiner Test ist in Git Repositories. Im Rahmen der Nutzung von Git gibt es diverse unterschiedliche Ansätze und Meinungen, wie man Dinge angehen soll und was die jeweilige Best Practice ist.
Im Bereich der Commit Messages habe ich in der letzten Zeit immer mehr Wildwuchs in meinen Projekten bemerkt, obwohl ich eigentlich versucht habe die Dinge überall ähnlich zu benennen. Wichtig ist dies z.B. wenn man später nach Dingen sucht oder z.B. automatisiert Release Notes aus den Commit Messages generieren will.
Durch Zufall bin ich auf die Conventional Commits Spezifikation in einem Flutter Plugin Repository gestoßen und fand den Ansatz sehr passend. Das Ganze basiert auf Ideen des Semantic Versioning open_in_new und der Angular Entwickler Community open_in_new. Die Conventional Commits Spezifikation erweitert die Ideen und Ansätze um feste Richtlinien. Mich persönlich interessiert vor allem der Prefix für Commit Messages, denn eben dieser ist ohne viel Aufwand gesetzt, hilft aber bei den oben genannten Punkten sehr.

Related Links

GitHub Dependabot - Automatisierte Updateüberprüfung für Abhängigkeiten

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Dependabot - Automatisierte Updateüberprüfung für Abhängigkeiten Bild

Libraries machen das Leben von Entwicklern einfacher, denn man muss nicht alles selber schreiben und kann sich auf die eigentlichen Features einer Anwendung konzentrieren. Allerdings gibt man auch Kontrolle und Übersicht ab und entsprechend kann man sich Probleme einhandeln.
Um externe Abhängigkeiten automatisch auf dem neusten Stand zu halten gibt es Dependabot. Früher war Dependabot eine eigenständige Firma, mittlerweile ist man bei GitHub untergekommen, was die dortige Integration natürlich noch einfacher macht. Außerdem ist der Dienst nun komplett kostenlos.
Vor allem auf Sicherheitsupdates weißt Dependabot hin, denn häufig integriert man Abhängigkeiten, aktualisiert selbige aber nicht solange alles läuft. Dabei gehen Sicherheitsprobleme in den Abhängigkeiten natürlich unter. Im Fall eines erkannten Updates wir einfach ein Pull Request erstellt und alles folgt dem gewohnten Flow.
Unterstützt werden unter anderem Ruby, JavaScript, Python, Java (Gradle / Maven), .NET und Docker. Leider ist Dart und somit auch Flutter aktuell noch nicht mit von der Partie und soweit ich es erkennen kann ist derzeit auch nicht geplant das sich dies ändert. Das ist zwar sehr schade, aber durch die pub.dev open_in_new Plattform und das Tooling drum herum, kann man den Prozess der Überprüfung auf Updates hier zumindest teilautomatisiert umsetzen.

Related Links

GitHub Actions - Automatisierung leicht gemacht

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Actions - Automatisierung leicht gemacht Bild

Auch wenn ich auf meinem Server ein On-Premise Git Setup habe, welches kleine Aufgaben automatisiert übernimmt, so habe ich mittlerweile immer mehr GitHub Repositories und auch solche wollen automatisiert werden.
Für diese Zweck bietet GitHub mit seinem Actions Setup eine sehr gute und flexible Lösung, welche euch nicht nur viel Arbeit abnehmen kann, sondern auch sehr einfach zu nutzen ist. Aufgrund der Größe der Plattform gibt es bereits jetzt extrem viele Actions, die ihr nur eurem Repository hinzufügen müsst und schon geht es los. Ich nutze GitHub Actions z.B. um für meine Status Seite open_in_new (GitHub Repository open_in_new) automatisiert nach einem Push die Build und Deploy Schritte auszuführen.

Related Links

Service Umstellungen - Mein Ablaufplan

Erstellt am event Uhr von account_circle Boehrsi in label Development
Service Umstellungen - Mein Ablaufplan Bild

Letzten Sonntag erfolgte der erste Live-Test meines neuen Service-Setups und ich konnte den neuen Such-Service direkt online lassen. Als Backup verweilt das alte Setup weiterhin auf dem Server, aber bis dato läuft alles recht problemlos. Ich bin mit dem Ablauf des Deployments trotz eher minimalistischer Planung sehr zufrieden und aus diesem Grund möchte ich meinen Ablaufplan gerne mit euch teilen. Vielleicht hat der eine oder andere ähnliche Deployments geplant und findet hier die eine oder andere interessante Anregung.

Für die Umsetzung bin ich wie folgt vorgegangen:

Related Links

Mein Weg zum "richtigen" CSS Framework

Erstellt am event Uhr von account_circle Boehrsi in label Development
Mein Weg zum "richtigen" CSS Framework Bild

Vor ein paar Tagen wurde ich in den Kommentaren gefragt wie ich zu Bulma kam, bzw. wie ich es im Vergleich zu anderen Frameworks sehe. In diesem Kontext vorweg schon einmal die Information, ich habe mir die Frameworks allgemein und oberflächlich angeschaut, kam zu Bulma und mache dort nun meinen ersten kompletten Tests, inklusive Implementierung.
Daraus ergibt sich, dass ich die anderen Frameworks bis dato noch nicht aktiv genutzt habe und meine Aussagen hier auf meinen Ersteindrücken basieren. Für mich waren in diesem Rahmen vor allem die folgenden Punkte relevant, bzw. bildeten die Anforderungen.

Git Commits signieren - Extra Sicherheit für die Versionsverwaltung

Erstellt am event Uhr von account_circle Boehrsi in label Development
Git Commits signieren - Extra Sicherheit für die Versionsverwaltung Bild

Ich habe vor einiger Zeit angefangen jeden Git Commit zu signieren. Die Anregung dafür kam von einem Kollegen und dafür ein Dankeschön an Frank open_in_new. Für alle die nicht wissen worum es geht, ein Git Commit kann signiert werden, so wie auch Emails und andere Inhalte signiert werden können. Damit wird nachgewiesen dass ein Commit auch wirklich von der angegebenen Person stammt. Dieser Bonus an Vertrauen ist vor allem in Repositories mit vielen aktiven Nutzern hilfreich, aber auch in kleinen Repositories oder privaten Projekten gibt er ein zusätzlich Stück extra Sicherheit.
Um seine Commits zu signieren sind folgende Schritte nötig, außerdem muss man vielleicht noch das eine oder andere kleine plattformspezifische Problem aus der Welt schaffen.

Related Links

IntelliJ IDEA & Gradle - Build-Probleme nach Java Update

Erstellt am event Uhr von account_circle Boehrsi in label Development
IntelliJ IDEA & Gradle - Build-Probleme nach Java Update Bild

Vor kurzem aktualisierte ich meine Java Umgebung und damit einher gingen natürlich Probleme mit diversen älteren Java Projekten. Eines der Probleme brachte meine gesamte Gradle Toolchain aus dem Konzept. Die Fehlermeldung Could not initialize class org.codehaus.groovy.classgen.Verifier sorgte umgehend für einen Abbruch jeglicher Gradle Tasks.
Ich konnte das Problem nach einigen Recherchen allerdings beheben. Um euch selbige Suche zu ersparen, gibt es nun eine kleine Zusammenfassung der nötigen Schritte, um IntelliJ IDEA 2020.1.2 + Gradle wieder zum Laufen zu kriegen.

Related Links

Git Passwort ändern - Windows Credential Manager

Erstellt am event Uhr von account_circle Boehrsi in label Development
Git Passwort ändern - Windows Credential Manager Bild

Sofern ihr unter Windows unterwegs seid und ein Git Repository nutzt, kennt ihr sicherlich den Credential Manager. Er hilft euch dabei nicht immer und immer wieder eure Daten eingeben zu müssen. Doch leider bemerkt er nicht automatisch wenn sich mal ein Passwort ändert.
Ihr erhaltet im Falle von geänderten Credentials also nur eine Rückmeldung vom nicht erfolgreichen Git Befehl, ohne weitere Möglichkeit das neue Password einzutragen. Vor kurzem hatte ich genau dieses Problem und um dem einen oder anderen die Sucherei zu ersparen, hier nun der Weg zum Ziel.
Öffnet die Systemsteuerung und wählt dort links oben Anmeldeinformationsverwaltung. Im folgenden Fenster findet ihr nach einem Klick auf Windows-Anmeldeinformationen alle nötigen Einträge. Unter Generische Anmeldeinformationen finden sich die gespeicherten Git Zugänge und auch weitere Logins (z.B. für Netzlaufwerke) sind auf dieser Seite zu finden. Ihr könnt einen der Einträge wählen, bearbeiten klicken und die neuen Daten eintragen. Folgend sollte alles wieder Ordnungsgemäß funktionieren.

Related Links

Flutter App Development - Teil 6 - RSS Entries und mehr

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter App Development - Teil 6 - RSS Entries und mehr Bild

Heute geht es weiter mit den eigentlichen Einträgen eines RSS Feeds. Die dazugehörigen Dateien befinden sich im lib/entry_list/ open_in_new Package und sind verglichen mit der lib/feed_list/ open_in_new Logik etwas einfacher zu handhaben. Dieser Beitrag ist der Abschluss meiner kleinen Tutorialreihe und den gesamten Source-Code findet ihr auf Github. Links zu den gennannten Dingen findet ihr in den Related Links. Mit diesen kurzen Worten der Einleitung möchte ich heute direkt mit dem User Interface starten.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next