For English version see the English version of this article.
 
VersionEye ist eine Suchmaschine und ein Benachrichtigungs-System für Open-Source Bibliotheken. Diese Bibliotheken ändern sich regelmäßig; es ist ratsam neue Versionen zeitnah einzusetzen, um Fehlerbehebungen zu übernehmen oder um den Aufwand für die Aktualisierung gering zu halten. VersionEye benachrichtigt Software-Entwickler per E-Mail, sobald es neue Versionen gibt und spart den Entwicklern damit Zeit. VersionEye wertet dazu unter anderem die Dateien mit den Angaben der Abhängigkeiten (package.json, bower.json, etc.) aus.
 
Öffentliche BitBucket- oder Github-Repositories können ohne weiteres Zutun überwacht werden; werden die Repositories allerdings innerhalb eines Unternehmens gehostet oder wenn sie privat sind, so kann VersionEye die Dateien nicht selbständig laden. Für unsere Kunden und uns spielt Datenschutz und Ideen-Schutz eine große Rolle. Deswegen wird die von uns entwickelte Software und die Quelltexte in einem internen Repository gespeichert. Damit sind natürlich auch die Package-Manager-Dateien nicht von außen sichtbar und damit kann VersionEye nicht darauf zugreifen. Trotzdem wollen wir nicht auf die Vorteile der Benachrichtigungen von VersionEye verzichten.
 
Für diesen Einsatzzweck haben wir das Node-Modul “versioneye-update” entwickelt, mit dem man ein VersionEye-Projekt per Kommandozeile aktualisieren kann, beispielsweise als ein Build-Step eines Continuous-Integration-Systems, wie beispielsweise Jenkins. Dabei werden nur die Package-Manager-Dateien auf den VersionEye-Server hochgeladen; die Dateien werden von VersionEye nicht gespeichert.
 
Das npm-Modul ist Open-Source und kann frei eingesetzt werden. Der Quelltext liegt im öffentlichen GitHub-Repository von Onwerk.
 
Installation
$ npm install versioneye-update -g
 
Verwendung
Aktualisiert ein VersionEye-Projekt mit der package.json-Datei aus dem aktuellen Verzeichnis:
$ versioneye-update --apikey <API_KEY> --projectid <PROJECT_ID>
 
Aktualisiert ein VersionEye-Projekt mit einer bestimmten Dependency-Datei:
$ versioneye-update --apikey <API_KEY> --projectid <PROJECT_ID> --file <PROJECT_FILE>
 
Unterstützt werden alle Dependency-Dateitypen, die auch VersionEye unterstützt.
Die vollständige Liste finden Sie auf der Webseite von VersionEye.
 
Wir verwenden dieses Modul um die Abhängigkeiten von intern gehosteten Node.JS-Projekten aktuell zu halten. Dazu haben wir das Modul als Post-Build-Step in unseren Jenkins-Build-Jobs integriert:

NPM-Modul "versioneye-update" integriert in Jenkins Build-Server

NPM-Modul “versioneye-update” in Jenkins integriert


 
Das VersionEye-Team berichtet in einem Blog-Eintrag ebenfalls über dieses Modul.