Wer ein neues Projekt beginnt, verbringt normalerweise einige Zeit mit der Konfiguration der Entwicklungsumgebung. Mit Codespaces hat die Versionsverwaltungsplattform GitHub bereits im Jahr 2020 eine cloud-basierte Entwicklungsumgebung vorgestellt, die es ermöglichen soll, mit nur einem Klick die Entwicklungsumgebung für ein Projekt bereitzustellen, inklusive aller Dependencies, Tools und Extensions. Die Entwickler:innen bei GitHub selbst verwenden Codespaces bereits seit August 2021, Kund:innen stand die Cloud-IDE zudem seit geraumer Zeit als Teil ihrer Team- oder Enterprise-Lizenzen zur Verfügung.
Prebuilds beschleunigen die Erstellung
Abhängig von der Größe und Komplexität des betreffenden Repositories kann die Dauer der 1-Klick-Erstellung allerdings stark variieren. Intern laufen dabei schließlich eine ganze Reihe von Vorgängen ab: Der Codespace muss das betreffende Repo klonen, eventuell eine benutzerdefinierte Docker-Datei erstellen, Dependencies und Editorerweiterungen installieren und Skripte installieren.
GitHub setzt seit der Einführung von Codespaces als interne Entwicklungsumgebung vor allem auf sogenannte Prebuilds um diesen Prozess zu beschleunigen. Jetzt soll dieses Feature auch den Kund:innen der Microsoft-Tochter zur Verfügung gestellt werden. Getestet wurde es bereits in einer privaten Preview mit 50 Unternehmen. Anhand des daraus erhaltenen Feedbacks konnten Konfiguration und Verwaltung der Prebuilds vor der Öffnung der Betaphase noch einmal signifikant verbessert werden. So wurden Machine Types, die die Neuerung unterstützen mit einem „Prebuild-ready“-Hinweis versehen. Die Prebuild-Konfiguration basiert ab jetzt auf GitHub Actions Virtual Machines und GitHub Actions Workflows werden ebenfalls unterstützt.
Mit GitHub-Actions Workflows
Für die Admins eines Repos bedeutet das die Möglichkeit, bestimmte Teile des Repositories aus einer Prebuild-Konfiguration erstellen zu können. Diese löst automatisch einen zugehörigen GitHub-Actions-Workflow aus, der künftige Commits für diesen Branch verwaltet. Jeder Actions-Workflow verfügt zudem über eine Reihe von Protokollen, die bei der Fehlersuche helfen.
Die Verlagerung von Programmierumgebungen in die Cloud ist ein Trend, der sich mit dem Beheben des Nachteils langer Konfigurationszeiten wohl weiter fortsetzen dürfte. Gerade für größere und komplexere Projekte sind Cloud-IDEs nämlich eigentlich prädestiniert.