Hasta la victoria siempre!

Eclipse Che 5.0: Docker, Language Server Protocol und ein neues CLI

Dominik Mohilo

© Shutterstock.com / Roberto Lusso

Nicht ganz ein Jahr ist es her, seit Eclipse Che mit Version 4.0 den Inkubator der Foundation verlassen hat. Che 5.0 ist das erste Major Release seit der initialen Veröffentlichung im März letzten Jahres. Wir haben uns angesehen, was das Update neben der angekündigten Docker-Integration mit sich bringt.

Die Browser-basierte Entwicklungsumgebung Eclipse Che erfreut sich nach wie vor einer großen Beliebtheit. Das ist allein schon an den 1300 Commits festzumachen, die von 60 Softwareentwicklern für die aktuelle Veröffentlichung geschrieben wurden. Aber auch die 3500 Sterne auf GitHub und die 600 Forks sprechen da eine ganz deutliche Sprache.

Eclipse Che 5.0

Das neue CLI

Für das aktuelle Major Release wurde das Command Line Interface (CLI) komplett umgeschrieben. Diese Entscheidung wurde von den Machern nicht zuletzt zum Zwecke des verbesserten Docker-Supports implementiert. Aber sicher war auch der Nebeneffekt, die Nutzung von Eclipse Che einfacher und verständlicher zu machen, ein Hintergedanke des Ganzen.

Ein Kernfeature dieses Gedankens ist die neue Konfigurationsdatei che.env in der sämtliche Konfigurationsparameter hinterlegt sind. Das soll die individuelle Einstellung von Che 5.0 erheblich vereinfachen. Auch die Nutzerdaten werden zukünftig an einem einzigen Ort hinterlegt, was das Backup und die Recovery im Zweifel erleichtern soll.

Docker

Workspaces haben in Eclipse Che ab sofort eine eigene dedizierte Runtime, genauer: eine Docker Compose Runtime. Diese Runtimes können durch die aktuelle Erweiterung per Docker-Compose-Syntax oder per Multi-Machine-Stack definiert werden. Das heißt im Klartext, dass es nun möglich ist, einen einzigen Workspace zu haben, deren Datenbank und Anwendungen in verschiedenen Containern liegen, gleichzeitig aber zu einem einzigen Netzwerk verbunden sind. Der neue Docker Exec Agent ist ein Go-basierter (REST-)Server für das Ausführen von Kommandos innerhalb eines Workspace-Containers und ersetzt die eingebaute Docker-exec-Kapazität.

Eclipse Che 5.0 ist zudem ab sofort im Docker Store erhältlich. Diese Verfügbarkeit unterstreicht die für die Zukunft geplante, enge Kollaboration zwischen dem führenden Container-Tooling und der containerisierten Entwicklungsumgebung.

Language Server Protocol

Im Juni vergangenen Jahres haben Red Hat, Microsoft und Codenvy das Language Server Protocol angekündigt. Da Codenvy die treibende Kraft hinter Eclipse Che darstellt, ist es wenig verwunderlich, dass das LSP auch in der Entwicklungsumgebung Che Einzug hält.

In Che sind Language Server als Agenten gepackt und werden in die Dev-Machine der Workspaces injiziert, wo sie, je nach Projekttyp und gerade bearbeiteter Datei, installiert und aktiviert werden.

Derzeit werden Language Server für JSON, C#, Java, PHP und TypeScript unterstützt. Aktuell befinden sich etwa 20 weitere Server in den diversen Communities in Bearbeitung, unter anderem ein Emacs Language Server. Das Team von Che kündigte an, den Support in diesem Bereich kontinuierlich mit jedem Release in der IDE zu erweitern.

Neue Workspace Features

Auch die Nutzerfreundlichkeit und die Sicherheit sind bei Eclipse Che 5.0 ein Thema. Eine neue Funktion, um diese zu erhöhen, sind die sogenannten Workspace Snapshots: Mit einem einzigen Snapshot ist es möglich, den Status der Runtime des Workspaces und des Projektes zu speichern. In Eclipse Che sind Workspaces eine Kombination aus den jeweiligen Workspace Runtimes und dem Projektcode. Standardmäßig ist Che so eingestellt, dass automatische Snapshots aller Workspaces angelegt werden, die Che dann auf der lokalen Maschine speichert. Ändern kann man diese Einstellung in der oben erwähnten che.envDatei.

Ein weiteres neues Feature im Bereich Workspaces sind die Workspace Agents. Durch diese werden Entwickler-Services dynamisch injiziert, um Produktions-Runtimes in Developer-Workspaces zu konvertieren. Sie können außerdem genutzt werden, um Kapazitäten wie Java Intellisense, SSH-Zugriff, Debugger und das Che-Webterminal in jede Runtime zu implementieren. So können all die Dinge in Workspaces zur Verfügung gestellt werden, die für die Entwicklung benötigt werden, aber normalerweise nicht in den Produktions-Containern enthalten sind.

Workspace Agents in Eclipse Che 5.0 / Quelle: Che-Blog

Workspace Agents in Eclipse Che 5.0 / Quelle: Che-Blog

Hintergrund

Eclipse Che ist mehr, als eine einfache IDE, vielmehr handelt es sich um eine IDE-Plattform. Das Open-Source-Projekt beinhaltet eine Plug-in-Plattform, eine Cloud-IDE und einen Workspace Server. Die sogenannten Workspaces bestehen aus Projekten und ihren Laufzeitumgebunden, die bereits seit Version 4.0 von Docker angetrieben werden.

Eclipse Che in der Übersicht / Quelle: Eclipse Che

Eclipse Che in der Übersicht / Quelle: Eclipse Che

Che managt die Entwicklungsstadien und orchestriert sowohl den Projektstatus, als auch das Booten, Schieben, Visualisieren und Stoppen der Workspaces-Laufzeitumgebungen. Nutzer haben dabei jederzeit über Browser, CLI und APIs Zugriff auf ihre Projekte. Che kann zudem auch als Workspace Server gehostet werden. Dadurch ist ein gemeinsamer Zugriff auf Programmierservices durch Workspaces und Entwicklerteams möglich.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.