Häufig gestellte Fragen
Willkommen bei den Greenkeeper-FAQ. Da Sie hier sind, nehmen wir an, dass sie Probleme bei der Einrichtung oder Benutzung von Greenkeeper haben. Dafür entschuldigen wir uns. Falls Sie nicht das finden, wonach Sie suchen, haben wir auch eine Dokumentationsseite. Zögern Sie nicht, uns jederzeit direkt zu kontaktieren.
Greenkeeper öffnet den initial-Pull-Request nicht
Wichtig: Die Erstellung eines initialen Pull-Requests kann bis zu 30 Minuten dauern. Normalerweise geht es viel schneller, hängt aber von der Komplexität ihrer Tests und der Verfügbarkeit ihres CI-Dienstes ab. Falls nach 30 Minuten nichts passiert, ist wahrscheinlich irgendetwas falsch gelaufen.
Fehlerbehebung: Stellen Sie sicher, dass Sie die Installation korrekt durchgeführt haben. Lesen Sie bitte die Voraussetzungen, die Greenkeeper an jede Repository stellt. Falls eine oder mehrere fehlen und sie diese behoben haben, überprüfen sie bitte, ob es jetzt funktioniert.
Hier sind alle bekannten Fehler und deren Lösungen aufgelistet:
- Es ist kein CI konfiguriert. Setzen Sie eine CI-Integration in ihrem Repository auf und setzen Sie Greenkeeper auf diesem Repo zurück.
- Sie benutzen einen CI-Service, der nicht den Branch-Status aktualisiert. In diesem Fall kann Greenkeeper nicht funktionieren.
- Der CI-Service funktioniert nicht mit den Branches, die Greenkeeper erstellt. Zum Beispiel kann er nur auf den
master
-Branch limitiert sein. Der Service braucht mindestens Zugriff auf alle Branches, diegreenkeeper
in ihrem Namen haben. - Alle Dependencies sind auf dem neuesten Stand und die Readme-Datei in dem Repository hat schon ein Greenkeeper-Badge. Da in diesem Fall keine Änderungen vorgenommen werden müssen, wird Greenkeeper auch keinen Pull Request senden. Stattdessen wird Greenkeeper einfach ohne Benachrichtigung anfangen zu arbeiten. Falls doch nichts passiert wenn eine Dependency aktualisiert wurde, muss die Badge aus der Readme-Datei entfernt und das Projekt zurückgesetzt werden.
- Issues sind nicht aktiviert. Issues sind normalerweise bei Forks deaktiviert, was es für Greenkeeper unmöglich macht, korrekt zu funktionieren. Aktivieren Sie Issues in dem Repository und setzen sie das Projekt zurück.
- Das Repository ist ein Fork. Wie oben beschrieben, sind Issues bei Forks normalerweise deaktiviert. Greenkeeper kann nicht funktionieren wenn Issues nicht aktiviert sind.
- Der default-Branch des Repositories wurde geändert während Greenkeeper auf CI-Ergebnisse gewartet hat. In diesem Fall muss Greenkeeper neu gestartet werden.
- Das Repository wurde bewegt oder umbenannt. Es ist für uns unmöglich diese Änderungen festzustellen, da GitHub uns nicht über solche Aktionen informiert. In beiden Fällen wird die ID der Repository nicht geändert, weswegen Greenkeeper es fälschlicherweise verwechselt. Die einzige Lösung ist, unseren Support zu kontaktieren und das Repository zurücksetzen zu lassen.
Greenkeeper erstellt Branches und löscht sie gleich wieder
Das soll so sein. Greenkeeper erstellt diese Branches, damit die CI-Tests darauf laufen können, die prüfen ob Ihr Code nach dem Update weiterhin funktioniert. Falls dem so ist, gibt es keinen Grund den Branch weiter existieren zu lassen.
Pull Requests werden von Greenkeeper nur dann geöffnet, wenn ein in-range Dependency-Update den CI-Build bricht, oder wenn ein Dependency-Update außerhalb der spezifizierten Range ist. Für mehr Informationen darüber haben wir eine Schritt-für-Schritt-Anleitung.
Zum SeitenanfangIch möchte Pull Requests für jedes einzelne Dependency-Update kriegen
Wenn Dependencies gepinnt werden, wird Greenkeeper für jedes Update einen Pull Request oder eine Issue öffnen. Falls es für eine Dependency schon einen offenen PR oder eine offene Issue gibt, wird Greenkeeper dort kommentieren. Versionen pinnen funktioniert, indem man die Versionsnummer in der package.json ohne Vorzeichen (wie z.B. das Caret-Zeichen ^
) angibt:
{
"dependencies": {
"lodash": "4.0.0"
}
}
Beachten Sie, dass kein ‘^’ oder ‘~’ vor der Versionsnummer steht.
Zum SeitenanfangIch habe eine Dependency heruntergesetzt, um zu sehen ob Greenkeeper funktioniert, aber nichts passiert
Das ist absichtlich so: In dem initialen Pull Request aktualisiert Greenkeeper alle Dependencies auf die neuesten Versionen. Sie stellen sicher, dass alle Tests durchlaufen und mergen dann den Pull Request. Wenn irgendeine Dependency danach eine neue Version veröffentlicht, wird Greenkeeper die Tests gegen dieses Update laufen lassen.
Wenn Sie eine Dependency heruntersetzen, zum Beispiel von ^1.5.0
(neueste) auf ^1.2.0
, passiert nichts: wenn der CI-Dienst läuft, wird trotzdem die Version 1.5.0
installiert. Das gleiche passiert, wenn Ihre BenutzerInnen npm install
in Ihrem Paket ausführen. Es bringt also gar nichts, wenn Greenkeeper in diesen Situationen irgendetwas machen würde: das Endergebnis wäre dasselbe.
Sie wissen dass Greenkeeper funktioniert, wenn eine Dependency eine neue Version erhält und die Tests laufen. Alles, worum sich Greenkeeper eigentlich kümmert, ist dass die Tests für Ihren Code mit den neuesten Versionen der Dependencies durchlaufen, und nicht, ob alle Dependencies explizit auf die neuesten Versionen gesetzt sind.
Wenn Sie explizit auf jedes einzelne Update für eine Dependency hingewiesen werden wollen, können Sie diese pinnen.
Wenn Sie eine Version zu einem Pin heruntersetzen, sagen wir mal von ^1.5.0
zu 1.2.0
(hier fehlt das Caret-Zeichen ^
, die Version ist also gepinnt), wird Greenkeeper auch nicht intervenieren und die Version wieder hochsetzen. Es wird Sie jedoch trotzdem wissen lassen, wenn es eine neue Version dieser Dependency gibt.
Ich habe einen kaputten Pull Request (beschädigter Branch) erhalten, und kann nun nicht mehr git pull ausführen
Wenn der Greenkeeper Pull Request so aussieht, dann liegt wahrscheinlich dieses Problem vor. Das passiert manchmal wenn GitHub Informationen löscht, die Greenkeeper noch benötigt. Es ist aber nicht so schlimm wie es aussieht, und die Lösung ist einfach: Löschen Sie den Branch. Greenkeeper wird es nochmal versuchen. Wir sind uns diesen Problems bewusst und arbeiten an einer Lösung.
Zum SeitenanfangManche Pull Requests stecken wegen greenkeeper/verify bei “Some checks haven’t completed yet” fest
Das passiert, weil der greenkeeper/verify
-Status in den GitHub-Einstellungen auf “required” gesetzt ist. Diese Voraussetzung ist dann bei allen Pull Requests gültig, nicht nur bei denen von Greenkeeper. Da Greenkeeper diesen Check aber nur bei den eigenen Pull Requests durchführt, bleibt der Check und somit der Pull Request überall anders bei “Some checks haven’t completed yet” stecken. Um das zu beheben, navigieren Sie zu https://github.com/[username oder org]/[repository]/settings/branches/master
und stellen Sie sicher, dass greenkeeper/verify
ausgeschaltet ist.
Kann ich Greenkeeper auf einem anderen Branch aktivieren?
Zu dieser Zeit gibt es keine Einstellung für andere Branches, aber Greenkeeper nimmt den Default Branch auf GitHub als Quelle für Pull Requests. Das ist also der Ort, an dem dies geändert werden kann.
Zum SeitenanfangKönnen alle NutzerInnen einer Organisation Greenkeeper installieren?
Nein, das können nur die Admins der Organisation. Greenkeeper erstellt Branches, um Pull Requests zu schicken und braucht deswegen den Push-Zugriff auf das Repository. Darüber hinaus benötigen wir die Berechtigung, Webhooks zu erstellen, damit wir die package.json
-Datei auf dem neuestem Stand halten können. Damit Greenkeeper diese Berechtigungen erhalten kann, muss es von BenutzerInnen mit Admin-Rechten für die Organisation installiert werden. Es reicht nicht, Admin-Rechte auf einem einzelnen Repository zu haben.
Kann ich jährlich statt monatlich zahlen?
Ja, bei beiden Greenkeeper-Versionen:
- Auf greenkeeper.io können sie im Account Dashboard einstellen, ob Sie monatlich oder jährlich bezahlen möchten.
- Auf GitHub Marketplace wird Greenkeeper automatisch über Ihre GitHub-Rechnung abgerechnet. Wenn Sie für GitHub jährlich bezahlen, dann auch für Greenkeeper.
Ich habe nur private Repositories, kann ich Greenkeeper trotzdem kostenlos ausprobieren?
Ja, in der GitHub Marketplace-Version von Greenkeeper wird die Bezahlung gänzlich von GitHub abgewickelt. Dort bieten wir eine 14-tägige kostenlose Testversion für alle Pläne an.
Wurde Greenkeeper direkt als GitHub App installiert (wenn also die Zahlung über Stripe abgewickelt wird) ist keine Testversion verfügbar. Wir bieten jedoch eine komplette Rückerstattung des gezahlten Preises an, falls Sie nach einem Monat feststellen, dass Sie mit Greenkeeper nicht zufrieden sind.
Zum Seitenanfang