Unser Engagement für Open-Source und Forschung
Bei Eficode möchten wir die Zukunft der Software gestalten. Wir beteiligen uns an europäischen Forschungsprojekten zu Testautomatisierung und serverlosen Technologien (RADON). Wir tragen auch zu einer Vielzahl von Open-Source-Projekten bei und unser Team ist für mehrere Open-Source-Plugins verantwortlich. Durch die Arbeit mit modernsten Technologien und den Austausch von Wissen mit der Gemeinschaft können wir die Zukunft der Software gemeinsam gestalten.
TESTOMAT EU Forschungsprojekt
Die nächste Stufe der Testautomatisierung
Das TESTOMAT-Projekt wird Software-Teams dabei unterstützen, die Entwicklungsgeschwindigkeit zu erhöhen, ohne dabei an Qualität einzubüßen. Das Projekt wird letztendlich zu einem Modell zur Verbesserung der Testautomatisierung führen, das wichtige Verbesserungsbereiche in der Testautomatisierung definieren wird, wobei der Schwerpunkt auf messbaren Verbesserungsschritten liegt.
Mit diesem EU-Forschungsprojekt zielten wir darauf ab, die Testautomatisierungsforschung an mehreren Fronten voranzutreiben: die Verbesserung spezifischer Testtechnologien, die automatische Berichterstattung aus der kompletten Pipeline der Kontinuierlichen Bereitstellung und die Kreation eines Echtzeit-Dashboards für die Qualitätssicherung zusammen mit 33 anderen gleichgesinnten Partnern in ganz Europa.
Weiterlesen (auf Englisch)RADON-EU-Forschungsprojekt
Erschließung der Vorteile von serverloser FaaS für die europäische Softwareindustrie
RADON zielt darauf ab, ein DevOps-Framework zu erstellen, um Microservices-basierte Anwendungen zu erstellen und zu verwalten, die serverlose Computertechnologien optimal nutzen können. RADON-Anwendungen umfassen fein abgestufte und unabhängig voneinander einsetzbare Mikrodienste, die FaaS- und Container-Technologien effizient nutzen können. Das Endziel ist die Ausweitung des Einsatzes von serverlosen Computing-Technologien in der europäischen Softwareindustrie.
Im Rahmen dieses akademischen Projekts stellt Eficode eine Branchenperspektive und einen Anwendungsfall aus unseren Dienstleistungen zur Verfügung. Wir übernehmen die Führung bei der Definition der Annahme- und Anpassungsmethodik, unterstützen geeignete CI/CD-Tools (z. B. Jenkins) und erstellen entsprechende kontinuierliche Test- und Lieferkonfigurationen.
Jenkins-Konfiguration als Code
Verwalten Sie Ihre Jenkins-Instanz als Code mit diesem einfach zu bedienenden Plugin
Wir haben das Jenkins Configuration-as-Code-(JCasC)-Plugin entwickelt, damit die Notwendigkeit entfällt, die globale Jenkins-Konfiguration nach der Bereitstellung manuell zu bearbeiten. JCasC konfiguriert Jenkins automatisch, sobald die Konfigurationsdatei vorbereitet ist. Diese Lösung bedeutet auch, dass Sie Ihr Jenkins innerhalb von Sekunden wiederherstellen können. Mit JCasC können Sie dieselbe Datei auch wiederverwenden, um mehrere Jenkins-Vorgänge zu konfigurieren, oder um einen lokalen Vorgang zum Testen von Änderungen zu starten, bevor Sie sie in die Produktionsumgebung integrieren.
Jenkins Configuration as Code ist das letzte fehlende Teil im Puzzle, mit dem Sie Ihren Jenkins-Vorgang vollständig als Code verwalten können. Dieses Projekt ist das Ergebnis einer Zusammenarbeit zwischen Eficode Praqma und Cloudbees und einer wachsenden Zahl externer Mitwirkender. Sie sind herzlich eingeladen, mit Code beizutragen oder Vorgänge mit Funktionen oder Fehlern zu erstellen. Wir möchten nicht nur unsere Probleme lösen, sondern auch Ihre!
Helmsman
Eine CI/CD-Lösung zur Automatisierung der Helm-Charts-Bereitstellung in Ihrem Kubernetes-Cluster
Helm verpackt Kubernetes-Anwendungen als wiederverwendbare, anpassbare und gemeinsam nutzbare Pakete namens „Charts“. Da Helm jedoch KEIN CI/CD-Tool ist, müssen Sie Ihre eigenen benutzerdefinierten Skripte schreiben und viele Konfigurationen vornehmen, um den Lebenszyklus der Diagramme aus einer CI/CD-Pipeline zu verwalten.
Bei Eficode dreht sich alles um Automatisierung, daher haben wir Helmsman geschaffen. Helmsman fügt eine Ebene der Abstraktion zu Helm hinzu und ermöglicht es Ihnen, deklarativ einen gewünschten Zustand Ihrer Helm-Charts in einem Kubernetes-Cluster zu definieren. Es ermöglicht Ihnen, Ihr Helm-Charts-Lebenszyklus-Management zu automatisieren. Helmsman wird durch eine deklarative Datei namens Desired State File (DSF), die Sie in Ihrem Versionskontrollsystem pflegen, angewiesen, wie es navigieren soll. Es interpretiert daraufhin Ihre Wünsche aus dem DSF und vergleicht sie mit dem, was im angegebenen Cluster läuft. Es findet heraus, welche Änderungen angewendet werden müssen, um Ihre Wünsche zu erfüllen, ohne irgendwo zusätzliche Zustandsinformationen zu pflegen/zu speichern.
GitHubWeiterlesen (auf Englisch)Weitere Projekte, zu denen wir beitragen...
2git
Ein Groovy DSL zur Migration in Git
2git ist ein Groovy DSL, das entwickelt wurde, um Skripte für Ihre VCS-Migration zu erstellen. Es führt Ihr Migrationsskript kontinuierlich aus und optimiert es, um Ihnen völliges Vertrauen in Ihre Migration zu verleihen. 2git unterstützt derzeit die Migration von Clearcase und Clearcase UCM in Git und Artifactory. 2git wurde entwickelt, um komplexe Migrationen zu wiederholen. Wir zielten darauf ab, die Skriptfreiheit beizubehalten und gleichzeitig die Mühen im Umgang mit dem Quell-VCS verringern.
Robot Framework Plugin für Jenkins
Sammeln und Veröffentlichen von Robot-Framework-Testergebnissen in Jenkins
Ein Plugin zum Sammeln und Veröffentlichen von Robot-Framework-Testergebnissen in Jenkins mit den folgenden Funktionen:
- Test-Suite und Falldetails mit Trendgraphen
- Umgebungsvariablenerweiterung für Aufbaupfade in der Konfiguration
- Wildcard-Unterstützung für Ausgabedateien zum Analysieren und Archivieren mehrerer Roboterergebnisdateien
- Sammeln und Archivieren von Original-Roboterbericht-HTML-Dateien
- Zusammenfassung der Roboterausführung auf der Build-Seite
- Zusammenfassung der letzten Roboterausführung auf der Projektseite
- Trendgraph der bestandenen Tests über Builds auf der Projektseite
- Markierung des Builds als nicht bestanden/instabil/erfolgreich gemäß den vom Benutzer angegebenen Grenzwerten
- Möglichkeit, nur kritische Tests anhand der Grenzwerte zu bewerten
- Spalte Listenansicht zur Anzeige der insgesamt bestandenen/nicht bestandenen Tests in der Projektliste und des Trends der Dauer
- Konfigurierbare Archivierung beliebiger roboterbezogener Artefakte pro Build
- Token-Makros zur Verwendung mit z.B. E-Mail-Ext-Plugin
- Testsichtbarkeit in Strahlungsansichten
Eficode hat zur Erstellung des Plugins beigetragen und pflegt derzeit das Plugin.
Vorgetestetes Integrations-Plugin
Ein Jenkins-Plugin, um zu verhindern, dass Ihr Master zerstört wird
Dieses Jenkins-Plugin wurde entwickelt, um zu verhindern, dass Ihr Master-Zweig unter der Kontinuierlichen Integration bricht, indem eine automatisierte Qualitätsschranke eingeführt wird. Sie ermöglicht Ihnen das automatisches Neuausrichten, Aufbauen, Testen und Ausführen aller Arten von Kontrollen für Ihre Änderungen, bevor sie schließlich an den Master geliefert werden.
Als Git-SCM-Dekorator hört das Vorgetestete Integrations-Plugin auf neue Zweige, die einem konfigurierten Muster entsprechen (z. B.: ready/*). Wenn es ausgelöst wird, fügt es den Zielzweig lokal in den Master ein und lässt Ihre Aufgabe ihre konfigurierten Schritte ausführen. Sollten sie alle bestehen, befindet das Plugin das Merge-Ergebnis für gut genug und liefert es an den Remote-Master. Nun muss nur sichergestellt werden, dass nur Jenkins Schreibzugriff auf den Master hat, und voilà, Sie sind jetzt der stolze Besitzer einer unzerstörbaren Hauptleitung.
Praqmatic Automated Changelog (PAC)
Eine automatisierte Methode zur Erstellung genauer Änderungsprotokolle
Dieses Tool ermöglicht es uns, viel manuelle Arbeit und Unsicherheit in Bezug auf neue Funktionen und Versionen zu vermeiden. PAC erstellt Änderungsprotokolle/Versionshinweise, indem es Ihr Git-Repository und eventuell Ihr Application-Lifecycle-Management-System (ALM) nach zusätzlichen Metadaten abfragt.
Sie können PAC verwenden, um ein Änderungsprotokoll zu erstellen, das sowohl für Entwickler als auch für Release-Manager geeignet ist. Mit Vorlagen können Sie das Erscheinungsbild anpassen und ganze Webseiten oder PDF-Dokumente mit einer einfachen Konfigurationsdatei generieren.
ImageHorizonLibrary
Plattformübergreifende Robot-Framework-Bibliothek für GUI-Automatisierung basierend auf Bilderkennung
Der Umgang mit der Automatisierung von Desktop-Client-Software mit grafischen Benutzeroberflächen (GUI) ist nicht immer einfach, vor allem, wenn ältere Technologien implementiert sind. Inspiriert von Vorgängern ist unser Open-Source-Release ein Versuch, durch Bilderkennung stets mehr Automatisierung zu bieten.
Eficode hat die Bibliothek erstellt und pflegt sie.
Oxygen für das Robot Framework
Ein neuer Weg, die Testberichterstattung zu konsolidieren
Oxygen ist ein Robot-Framework-Tool, mit dem der Benutzer die Ergebnisse eines Testtools oder Frameworks in die Berichterstattung des Robot Framework umwandeln kann, um alle Testberichte unabhängig von den verwendeten Tools zu konsolidieren.
Eficode hat das Tool erstellt und pflegt es.
HttpRequestLibrary für Robot-Framework
Testen von REST-Schnittstellen mit Java
Dies ist eine Bibliothek, um REST-Schnittstellen auf einfache Weise zu testen, wenn das Robot-Framework mit Maven/Gradle ausgeführt wird. Ziel ist es, das Abhängigkeitsmanagement zu vereinfachen und die Tests nur mit Java laufen zu lassen.
InfluxDB-Plugin für Jenkins
Sammeln von Daten aus mehreren Jenkins-Plugins in einer einzigen Zeitseriendatenbank
Ein Plugin, um Daten von verschiedenen Jenkins-Plugins an die InfluxDB zu senden. Es unterstützt derzeit Daten aus Changelog, JUnit und SonarQube ohne ein separates Plugin und unterstützt Cobertura, JaCoCo, Performance, Performance Publisher, Robot Framework und Serenity-Plugins. Sie können auch Ihre eigenen benutzerdefinierten Daten und Tags in die Pipeline-Jobs schreiben.
Eficode hat das Plugin erstellt und verwaltet es derzeit.
Medusa
Ermöglicht den Import und Export mit HashiCorp Vault
Medusa ist ein Open-Source-Cli-Tool, das Daten aus json oder yaml in den Vault importieren und von jedem Punkt im Vault in dieselben Formate exportieren kann. Dies macht es einfach, Entwicklerumgebungen zu kreieren, Backups zu erstellen, Daten zu klonen, Daten aus verschiedenen Vault-Instanzen mit einem einzigen Cli zu verschieben.
Robot Framework Maven-Plugin
Robot Framework-Tests in den Maven-Lebenszyklus einbinden
Das Robot-Framework Maven-Plugin ermöglicht Robot-Framework-Tests innerhalb eines Maven-Lebenszyklus. Auf diese Weise müssen Entwickler oder CI-Systeme nichts Spezielles installiert haben, um die Tests in der erforderlichen Phase ausführen zu können.
Jrobotremoteserver
Ein Server, der Java-basierte Robot-Framework-Bibliotheken remote über die Remote-Bibliothek (XML-RPC) anbietet
Beim Ausführen von Robot-Framework-Tests mit Python kann es immer noch erforderlich sein, Java-basierte Bibliotheken zu verwenden. Jroboremoteserver veröffentlicht Java-Bibliotheken zur Verwendung über XML-RPC von Python mit Robot Framework.
Jrobotremoteserver ist eine Implementierung für Java-Bibliotheken, aber es gibt auch andere Remote-Server für andere Sprachen. Siehe hier
JavalibCore für Robot Framework
Java-basierte Robot Framework-Bibliotheken auf einfachere Weise erstellen
JavalibCore hilft, Java-basierte Robot-Framework-Bibliotheken auf einfache Weise zu erstellen und bietet z. B. Anmerkungen, um den eigentlichen Bibliothekscode integer zu halten.
SeleniumLibrary für Robot Framework mit Java
Browser-Test mit Robot Framework
Diese Bibliothek stellt Selenium für Robot Framework auf Java-Weise zur Verfügung. Es kann im Anwendungstest-Lebenszyklus innerhalb von Maven (oder anderen Java-Projektmanagement-Tools) enthalten sein.
DBLibrary für Robot Framework mit Java
Testdatenbanken, die mit JDBC-Treibern verbunden werden können
Einige Datenbanken (wie z.B. Oracle) sind etwas schwer mit anderen Sprachen als Java zu verbinden. Diese Bibliothek kann zusammen mit Jrobotremoteserver für diese Arten von Datenbanken verwendet werden, oder für Datenbanken in Tests, die mit Java laufen.
DevOps Pioniere
Bei Eficode helfen wir Teams, Software besser zu entwickeln, zum Nutzen von großen und kleinen Unternehmen. Wir haben DevOps erstellt, bevor dies ein Begriff war. Über ein Jahrzehnt später haben wir DevOps-Transformationen in allen Branchen erlebt.
Wir glauben daran, dass die Zukunft der Softwareentwicklung unglaublich effektiv ist. Automatisierung, kontinuierliche Verbesserung für das Geschäft und die Zusammenarbeit zwischen Teams stehen im Mittelpunkt unserer Mission.
Wir helfen, die DevOps-Bewegung voranzutreiben, indem wir die nächsten Generationen schulen und unsere Erfahrungen mit der Gemeinschaft der DevOps-Praktiker teilen.
MEHR ÜBER EFICODEHaben Sie noch Fragen?
Wir helfen Ihnen gerne.
Bleibt auf dem Laufenden - abonniert den Newsletter
Exklusive Bildungsinhalte und Neuigkeiten aus der Eficode-Welt. Direkt in eurem Posteingang.