Frage

Dies ist mein Open -Source -Code, den ich geschrieben habe.

https://github.com/simkimsia/utilitybehaviors/blob/master/readme.mdown

Ich habe ein No Stable Release aus packagist.org

Wie mache ich einen stabilen Release -Aufkleber von? packagist?

War es hilfreich?

Lösung

Sie müssen Ihren Code mit einer Versionsnummer markieren.

git tag -a 0.0.0

Das wird die erste stabile Version deklarieren. Wenn Sie sich um eine Versionsnummer der All-Null-Version sorgen, können Sie mit 0,0.1 beginnen, wenn Sie möchten. Versuchen Sie, sich an semantische Versionen zu halten, wenn Sie können: http://semver.org. Danach sollten Sie das öffentliche Repository wie zum Beispiel weitergeben, wie git push --tags.

Beachten Sie, dass Sie die gesamte Reihe von Stabilitätsbezeichnungen in Ihren Tags verwenden können. Es gibt alles von Alpha, Beta, Release -Kandidat, der vom Komponisten erkannt wurde. Sehen http://getcomposer.org/doc/04-schema.md#version Informationen zum Erstellen einer Versionsnummer.

Packagist scannt dann Ihr Repository und verarbeiten Sie dieses Tag, bei dem es sich um eine "stabile" Version handelt, und markiert Ihr Paket entsprechend (auch mit der Version 0.0.0 Version - 0.x -Software unterscheidet sich nicht von 24.x -Software in Bezug auf den Komponisten /Packagist).

Bearbeiten 2016-07-14

Beachten Sie, dass die Versionsnummern in der semantischen Versionierung anders behandelt werden, wenn sie mit beginnen 0.x.y. Dies wirkt sich nicht in irgendeiner Weise auf das Tagging und die Veröffentlichung aus, sondern wirkt sich auf die Art und Weise aus, wie Benutzer Ihre freigegebene Software auswählen und aktualisieren können. Jede Software in der 0.x Reichweite wird als unvereinbar angesehen, wenn Sie das nächste kleine Update veröffentlichen 0.x+1. Der Komponist Tilde -Operator ~ wird dadurch nicht gestört: ~0.x (Mit jeder Ganzzahl als x) wird auf die nächste kleine Version aktualisieren. Der Hausbetreiber wird sich anders verhalten: ^0.x oder ^0.x.y wird in der bleiben 0.x Reichweite und nicht zu irgendeiner gehen 0.x+1.y Veröffentlichung.

Der beste Weg, dies entgegenzuwirken, wäre zu beginnen 1.x Versionen und verwenden Sie Stabilitätsflags, um mögliche Änderungen anzuzeigen. Sie können verwenden 1.0.0-alpha1 als Ihre erste Veröffentlichung statt von 0.0.1, später können Veröffentlichungen sein 1.0.0-alpha2 Für eine weitere "instabile" (lesen Sie: API nicht fertig/stabil), dann gehen Sie zu 1.0.0-beta1 für api-stabile, aber intern unvollendete Veröffentlichungen dann 1.0.0-rc1 Für möglicherweise api-stabile, fertige Veröffentlichungen während der endgültigen Fehlerphase und dann 1.0.0 Für die endgültige Veröffentlichung. Weitere Bugfixes werden sein 1.0.1 und Up, neue Funktionen werden sein 1.1.0, inkompatible API -Änderungen werden sein 2.0.0. Beachten Sie, dass die ersten Benutzer möglicherweise verwenden ^1.0.0@beta Wenn ihre Versionsanforderung und im Verlauf der Entwicklung immer das neueste Update erhalten, ohne die Anforderungen zu ändern (es sei denn, Sie brechen Ihre API und erzwingen Updates auf diese Weise). Dies wird niemals funktionieren, wenn Sie das gehen 0.x Route und dann das Endprodukt als Veröffentlichung als 1.0.0, weil Sie zumindest das offensichtliche inkompatible Update haben, springen auf 1.0.

Es ist schwer, ohne zukünftige Wissen zu entscheiden, ob sich ein Paket als nützlich erweist und eine glückliche Benutzerbasis erstellt (die von a profitieren wird 1.0.0@alpha Release -Tag) oder wenn es sich nur um ein interessantes Experiment handelt, das niemand in der Produktion verwendet (auch bekannt als AKA 0.x).

Meine persönliche Präferenz für interne private Pakete ist es, sie zu machen 1.0 von Anfang an. Ich muss mich mit mehreren Paketen befassen, die mit 0.0.1 und sind beim Aktualisieren etwas böse, weil sie reif sind, aber nicht gehen können 1.0 Aufgrund dieses inkompatiblen Versionsschritts, der viel Arbeit in Sekundärpaketen beinhalten würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top