Top Banner
Semantic Versioning 宇佐見 公輔
34

Semantic Versioning

Aug 08, 2015

Download

Software

Kosuke Usami
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Semantic Versioning

Semantic Versioning!

宇佐見 公輔

Page 2: Semantic Versioning

Semantic Versioning って何?

Page 3: Semantic Versioning

バージョン番号の 付け方

Page 4: Semantic Versioning

主にライブラリ向け

Page 5: Semantic Versioning

なぜ必要か?

Page 6: Semantic Versioning

バージョン番号の 大小を機械的に判定

Page 7: Semantic Versioning

どこで使われているか?

Page 8: Semantic Versioning

パッケージを管理する システム

Page 9: Semantic Versioning

RubyGemsとか CocoaPodsとか

Page 10: Semantic Versioning

一般のアプリは 必ずしも守る必要はない

Page 11: Semantic Versioning

でも、迷うようなら 参考にしてはどうか

Page 12: Semantic Versioning

仕様の基本

Page 13: Semantic Versioning

Major.Minor.Patch

Page 14: Semantic Versioning

(例) 1.0.0 2.1.3 3.10.1

Page 15: Semantic Versioning

Patch番号 バグ修正とか

Page 16: Semantic Versioning

Minor番号 後方互換性がある変更

Page 17: Semantic Versioning

Major番号 後方互換性がない変更

Page 18: Semantic Versioning

基本の補足

Page 19: Semantic Versioning

Major番号 = 0 開発段階を示す

Page 20: Semantic Versioning

この場合は 厳密なルールはない

Page 21: Semantic Versioning

応用(1)

Page 22: Semantic Versioning

プレリリース (betaとかRCとか)

Page 23: Semantic Versioning

X.Y.Z-hoge

Page 24: Semantic Versioning

プレリリースは 通常バージョンより 低いバージョンとなる

Page 25: Semantic Versioning

1.0.0 < 1.1.0-alpha < 1.1.0

Page 26: Semantic Versioning

1.1.0-alpha < 1.1.0-beta < 1.1.0-beta2 < 1.1.0-RC

Page 27: Semantic Versioning

応用(2)

Page 28: Semantic Versioning

ビルドメタデータ

Page 29: Semantic Versioning

X.Y.Z+fuga X.Y.Z-hoge+fuga

Page 30: Semantic Versioning

ビルドメタデータは バージョンの大小に 影響を与えない

Page 31: Semantic Versioning

1.1.0 = 1.1.0+ext1 = 1.1.0+ext2

Page 32: Semantic Versioning

1.1.0-alpha = 1.1.0-alpha+ext1 = 1.1.0-alpha+ext2

Page 33: Semantic Versioning

仕様書の場所

Page 34: Semantic Versioning

semver.org