Wie ich es für viele Open-Source-Projekte tun könnte, habe ich nach GitHub-Releases gesucht. Jemand hatte die gleiche Idee wie ich und stellte ebenfalls fest, dass Discourse keine GitHub-Releases (mehr) hat.
Mein nächster Versuch war, Git-Tags auf GitHub zu verwenden, was das nächstbeste wäre. Bis heute ist der neueste Tag auf GitHub v3.6.0.beta2. Wenn ich mir die Admin-Seite meiner eigenen Discourse-Instanz ansehe, läuft bei mir v3.6.0.beta3. Das bedeutet, dass nicht nur die neueste Discourse-Version nicht auf GitHub getaggt ist, sondern Discourse selbst (die Software) verwendet offenbar nicht die GitHub-Tags, um zu wissen, wann es eine neue Version gibt.
Ich erinnerte mich, dass meine Installation auf Docker läuft, also beschloss ich, diesem Kaninchenbau zu folgen und nachzusehen, wo die Discourse-Images auf Docker Hub gehostet werden. Dort werden ein paar Namenskonventionen als Tags verwendet (wie z. B. 2.0.20251113-0018-web-only-stable), aber keine, die dem v.X.Y.Z-Format, das Discourse öffentlich verwendet, zu korrelieren scheint.
Hat also jemand eine Empfehlung, wie man das machen kann?
Ich vermute, du verwendest beta3-latest, was einer Version während der Entwicklung von beta3 entspricht. Die endgültige Version von beta3 wurde noch nicht veröffentlicht.
Hast du das Thema zur neuen Versionierungsstrategie gelesen?
Ich habe nichts verwendet. Discourse sagt mir, wenn es Updates gibt, und ich klicke auf die Schaltfläche, um sie in der Benutzeroberfläche zu installieren. Ich versuche herauszufinden, woher Discourse diese Informationen bezieht.
Danke. Das ist mir auch aufgefallen, aber das würde erfordern, dass ich regelmäßig git clone ausführe und diese Datei inspiziere, was nicht gerade leichtgewichtig ist.
Der erste Link hilft mir nicht, die neueste(n) Version(en) zu bekommen (tatsächlich scheint es jetzt noch mehr zu geben), aber dieser zweite Link ist gut zu wissen. Es sieht so aus, als ob das Versionierungsschema komplett geändert wird. Danke für den Link.
Ich dachte, die Erklärung, dass Benachrichtigungen gesendet werden, sobald eine neue Betaversion veröffentlicht wird, könnte Ihnen hilfreich sein. Wenn Sie nach der Benachrichtigung für die Veröffentlichung von 3.6.0.beta3 ein Update durchführen, während Ihr Forum auf „latest“ basiert, erhalten Sie 3.6.0.beta4-latest.
Ich benötige eine URL, über die ich mit einer Programmiersprache (oder z. B. curl) die neueste(n) Version(en) abfragen kann. Typischerweise handelt es sich dabei um einen Feed mit einer strukturierten Antwort wie JSON, XML, YAML usw.
wobei X eine bekannte Version in dem Branch ist, über den Sie Informationen erhalten möchten.
Wenn Sie nur die neuesten 5 Beta-Versionsnummern erhalten möchten, verwenden Sie einfach eine alte Version wie https://api.discourse.org/api/version_check?installed_version=3.1.0.beta1
Wenn Sie die neueste stabile Version wünschen, lassen Sie den Parameter installed_version weg https://api.discourse.org/api/version_check
Das. Das ist genau das, wonach ich gesucht habe, aber mein Google-Fu hat mich im Stich gelassen. Danke!
Diese API zeigt v3.6.0 beta 2 als die neueste (wie GitHub-Tags) und nicht beta 3, was mein Forum ausführt. Ich verstehe nicht, wie das passieren konnte, aber das ist ein anderes Problem.
Die von api.discourse.org bereitgestellten Daten stammen von den GitHub-Tags, sodass Sie beides verwenden können. Sie liefern immer das gleiche Ergebnis.
Das liegt daran, dass Sie die Vorabversion von beta3 ausführen:
Der Suffix -latest ist der Indikator dafür, dass es sich um eine Vorabversion handelt und nicht um einen bestimmten Commit von Discourse.