
@potato4d と @spring_raining が、OSS や内製ライブラリのバージョン管理と CHANGELOG などについて話しました。
Links
- Conventional Commits
- LAICON
- standard-version
- GitHub Release
- Lerna

@potato4d と @spring_raining が、OSS や内製ライブラリのバージョン管理と CHANGELOG などについて話しました。
Guest
こんにちは
Guest
こんにちは
Guest
今週のitサイドを始めたいと思います。ユアテンサイドは、ユーザーインターフェイスと、テクノロジーを愛する開発者のためのポドキャストです。
Guest
最新のweb標準の動向や開発、フレームマークの変遷、またまたurやuxに関することまで
Guest
毎週フロントエンドの情報を発信していくことを目的としております。え、ハッシュタグはシャープUIT、アンダースコアインサイド。
Guest
ご意見やご感想はいつでもお待ちしております。どしどしツイートください。
Guest
そしてですね、今回は私こで4dともにですね。えーは、サミでゲストに加えまして、ちょっと今日はですね。
Guest
チェンジログ回りの話をしたいなと思っておりますということで、よろしくお願いいたしますよろしくお願いします。
Guest
ちょっと今日話したいことがあって、はい、今収録してるのが9月24日なんですけど、この前連休だったじゃないですか。はいはい、
Guest
あの連休の時に、私、あの自分の管理してるossの大量にある、リノベートを裁く作業みたいなのしていて、はい、あの、そのなんかリプ1人だけ更新されてても、実際パブリッシュされてるパッケージのリノベートがこう古いままだったら、意味ないみたいなのもあって、
Guest
結構リリースをする時があったんですけど、あの、そういう時に普段からスタンダードバージョンっていう。はい、同性成のチェンジログのやつをつか
Guest
あってて、ちょっとその辺をの設定が実はすごい雑で、今まで綺麗なチェロができてなかったんで、見直したりとかしてたんですけど、
Guest
まあ、ossとかだったら、バージョン自体に意味があるというか、パッケージという観点で、バージョン自体に意味があると思うんですけど、結構社内ツールとかだと、その
Guest
ライブライ的に使ってるものはもちろん意味があるけれども、プロダクト的に使うものは意味がなかったりとか、まとはいえ、なんか、リリースフローにギットのタグは使ったりするよね。みたいなのがあると思う
Guest
ってて、なんかそのえ、ライブラリ的なものだった社内のものの、リリースノートとかって、どうやって管理してるのかなっていうのをちょっと今日はお話ししたいなと思って。あの、玉田さんも
Guest
と、アイコンアセットのライコンをnpmパッケージと内ではいかい開発してたりとか、えと、ライコン管理用のuyの方もかで出してると思うんで。なんかその辺って、
Guest
あの、それぞれどういう風なリリース、フロート、リリースノートを管理してるのかな。みたいなのを、今日はちょっと聞きたいなと思っております。
Guest
じゃあ、まずあれですね。アイコンのプリリースフローについて説明しますね。はい、あのま、
Guest
まずアイコンっていうのが、あのアイコンさっき言ってた。アイコンセット管理ライブがいい
Guest
で。なんですかね。社内本と王様みたいなものに、うんなんってます。
Guest
リリースの観点で言うと、大体3つ種類があるのかなと思っていて、1つがはい、
Guest
そのウェブサイトのリリースですね。そのライコンのま、ギャラリーページみたいなのとかが、用意されているんですけれども、それは基本的にその
Guest
マスターにマージされたタイミングで、まあ、自動的にデプロイみたいな感じです。なんで、ま、リリース
Guest
っていうよりは、まあなんですかね。あんまりバージョンとかは関係ないリリースですね。はい
Guest
はいはいはい、うんうんで、
Guest
もう1つが、npm形式での
Guest
エースですね。これは、あのまあさっき言ってた。その普通にそのライブアイとして使うためのまものになっていて、またえば。まあ、リアクト用のパッケージとか、美用のパッケージみたいなのが
Guest
提供されています。これは、ままさしくさっきって言ったその
Guest
まあ、ライブラリのとしての提供なので、まあ、バージョンを決めてあげて、で、リリースっていう感じでやってます。これも、一応、自動化は終わって
Guest
はる状態ですね。で、もう1つが。そのアイコンのデータをまcdmというか、
Guest
まあ、そのインターネット上にで利用するためのリリースっていうのがあって、で、これははいあれですよね。その
Guest
まあ、そのsvg形式で使えるようにする。直接あ、アクセスして使えるようにするとか。
Guest
あはあ、はいはい、ウェブフォントの形式でこう変換することで。まあ、ホントさんもそうなんですけれども、そのウェブフォンと読み込んででま、それをこう
Guest
まクラス名なりでこ
Guest
はい、はいはいはい
Guest
でそうですね、そう、あのアイコンもまあそのも文字として使うみたいなこ使い方っていうのができますね。でま、これも
Guest
バージョンによってリリースされるっていう感じになってます。で、ま、これ3つなんですけど、もま多分今回
Guest
関係あるの。後ろ2つかなと思って、まあ、そのバージョンの管理の方法とかっていうはいですね。これしょんあと、リリースノートの
Guest
そうですね。そうすね、バージョン管理とか、リリースノートとかどうしてるかなっていうとこでですね。
Guest
で、す。1番最初のウェブサイトの管理方法は、まマスターにまじさえたいタイミングで、リリースっていう
Guest
感じなんですけど、も、後ろ2つがまキットでタグを打ったタイミングで、リリースっていう風に、今な
Guest
あ、あ、はいはいはい、なるほどなるほど、タグプッシュのタイミングで、試合が動いて、リリースしてるっていうそうです。
Guest
で、ま、そののタグの名前によって、まあ、そのnpmのパッケージのリリースと、
Guest
そのまェブフォントやま、sbgの形式でのリリースっていうのがされるっていう感じになると思います。はい、
Guest
なるほど、なるほど、あ、これなんかチェンジログの話からめちゃめちゃそれるんですけど、まあ、パッケージ管理という点でちょっと聞きたいんですけど、その
Guest
タグ打つ時って先にあれですかね。パッケージェイソンのバージョンあげてから、そのこと大目印にタグってプッシュするって感じなんですかね。
Guest
そうですね、あとま、多分1番いいのは、そのちゃんとその
Guest
cli経由で、タグとまリレースを同時にやるってのは、それこそそのスタンダーバージョン
Guest
です。とかまあ、あとコンベンショナル、えーでプロイえ、チェンジログですかね。ま、それそうですよ、それを使うのがいいっていう感じでは分かってるんですけど、ま、今はちょっと現状あれですよね。そのタグを打つところまでは
Guest
やって、そのあとまリリースを出すのは、手で、人がチェンジを書いて、
Guest
リリースっていう感じですね。
Guest
事前にこうバージョン番号を決めてま。これは、例えばマイナーアップデートだから、
Guest
ままい。マイナーバージョン、インクリメントしてで、プッシュしたタイミングで、そこでこう
Guest
あの、ギターのタグの方をプッシュしたタイミングで、リプロが走るっていう風な風呂でやってるって感じなんですね。はい、
Guest
そうそうでま。一応バージョンの話をすると、
Guest
慣習的にえま、メジャーアップデートは、あのおっきな変更みたいな感じで、マイナアップデートが
Guest
なんですかね。アイコンの変更を伴う変更なんで、まあ、新しいアイコンが追加されたりとか、なんか、
Guest
アイコンの微修正が加わったりとかっていう感じで、パッチアップデートは、アイコンの変更はない、そのライブダ側の変更みたいな。
Guest
はいはいはいはい、
Guest
うんていう感じになって、なんか
Guest
こうスムバーっぽい感じというか、
Guest
まあ、そうですね、そうですま、大体そんな感じってあ、
Guest
でもいいですね。なんか、そのタグプッシュケーキで、なんか結構あのパッケージで困りがちなところって、あの、それこそ
Guest
あのスタンダードバージョンとかも。私も結構外部向けのパッケージとかだと使ったりするんですけど、例えば、今車内とかだと使うのに困る時とかが結構あって、それが何かって言うと、あのモレポと相性が悪いみたいなのとかもあって、
Guest
うん、なんか、モノレップからチェンジログを生み出すのも辛いし、その何よりもとレルナとかでパブリッシュをしようとすると、あそこで、そもそもバージョンのインクリメント走っちゃうじゃないですか。そうです、あの、
Guest
っていうのが、このタイミングがお互いにこう。あの、ほんとはレルナがれでインクリメントした後に途中に入るといいんですけど、なんかできなくて。結構社内的なパッケージ使う時とかとも、このこともあって、辛いなとかって、
Guest
手書きも辛いけど、ツールとの相性も良くないみたいなの。結構よくあって、私も悩み、
Guest
その辺は悩んでたりと
Guest
するんです。
Guest
そうですよね、ま、多分パッケージ1つだと全然考えることないんですよね。
Guest
そうそうなんですよね、そうなんですよね、やっぱりでも、手書きになりがちなんですかね。
Guest
結構車内とかだと、特になんかあまり力を入れて書くっていう、そこに優先順位がい
Guest
そうなんですよね、
Guest
下がりがちっていうところはありますよね、
Guest
そうなんですよね、それは結構あるなと思
Guest
と、後でショーノートに埋め込みますけど。え、少し前にあのルビー系のジェムとか管理してる人がなんかはnpm、界隈、スタンダーバードバージョンとかもそうなんです
Guest
けど、そのチェンジログを自動スール、自動生成するツールが結構あるんで、作ってる側は楽だけど、あれ
Guest
で結構そのしょうもないものも入ってしまって、読む側、辛いよねって話をしてて、
Guest
いや、それはほんとにそうだなと思いながら思ってて、なんか自動生成も微妙だけど、手書きも辛いっていう時って、なんかみんなどうしてるんだろうなって、最近結構気になるんですよね、
Guest
そうですよね、なんかあれですよね、あの、自動生成
Guest
っていうのは、多分、コミットのメッセージをこうずらっと並べたな感じになってしまう。
Guest
そうですね。そうですね、なんで今も話あったように、コンベンション、アルコミ
Guest
とかに合わせて、それによってこれフィートから始まってるから。これはフィーチャーっていうので、ずらっと並ぶみたいな感じですよね。
Guest
なんでしょう。例えばや、実際私も提供してるパッケージとかの、あの、普通にossとかで提供してるパッケージのチェンジとかもかなりカオスになってて、フィートから始まると、フィーチャーズっていうhは思われて
Guest
みたいな。こういう形になるんで、なかなか
Guest
こうなると、例えばドキュメントチェンジスとか。あの、ほんとは何かしらのドキュメントにおっきな変更があったらいいんですけど、これ自動で生成されちゃってるんで。アップデートオールコントリースターズrc、スキップciとかが入っちゃう。
Guest
これって、何かって言うと、あのリードミーにあのこの人が貢献してくれてます。
Guest
エリアみたいなの作れるんです、はいはいはい、そのツールがドックを追加するんで、こうすごい本質的じゃないものが入ってしまうってのは結構あって
Guest
ま。これって、読む側として辛いよなとかは日々感じますね。
Guest
その自動生成のど、チェンジログの自動生成っていうのは、なんか設定みたいなのは結構細かい感じなんですかね。
Guest
あ、それで言うと、それをちょっと連休調べてたんですけど、一応あ、色々。設は定自体はでき
Guest
で、スタンダードバージョンっていうやつの話と、スタンダードバージョンっていうのは、コンベーションアルコミッツにあったものからチェンジログを作る
Guest
かつ。リリースとかをを支援してくれるツールなんですけど、スタンドバージョンっていうのは、スタンダードバージョン、えーバージョンの後に、え、
Guest
コマンドとして、リリースアスっていうのがあるんで、リリースアスメジャーとかっていうコマンド
Guest
っていうので、メジャーバージョンとかをやるんですけど、これを打った段階でデフォルトでは。フィートとかフィックスとかがあると、自動でそのフィーチャーズとかっていう風に出てくるっていう感じなんですけど、拾えないものが結構デフォルトではあって、
Guest
例えばポッドキャストの第54回でば、UITプレイブック開発、ガイドラインの話をしたと思うんですけど、はいはいたガイドラインとかって、ドッグとかのコミットメッセージが結構増えるはずで、そのそうで管理していると、
Guest
ただ、デフォルトではドックは無視されちゃうんですよね。そのスタンダーバージョンとかって、なんでその自分たちで、多分ドッグとかドックスみたいなのをこう
Guest
つけたら、それはドキュメント地に遊びできるみたいなのはい
Guest
じですね。なんで、自分たちで貸すためのセクションを追加することはできるけれども、逆にこれに該当してしまうと、全部チェンジログに吐き出されてしまうっていう感じになってます。で、一応なんか
Guest
シエルオプションみたいなのがあって、例えばスキップっていうオプションとかはあって、そのスキップタグとかをすると、ギットのタグが
Guest
打たないでおいてくれるとかは一応あるんですよね。なんで、例えばえケンジログ書いて、コミットはするけれども、ギットのタグは打たないんで、最悪、そのギットコミットメントとかで、
Guest
あの手書きで、チェンジログのいらないところを消して、タグを打ち直すみたいなのは、一応できるっていう感じですね。
Guest
なるほど、そう
Guest
なんでなんかこうカスタマイズはできるけれども、なんかどっちかって言うとこう。本質的な問題の解決っていうよりは、主導で修正できる余地を残すっていう感じの
Guest
カスタマイズが多いかなと思います。
Guest
いや、でもなかなか解決は難しそう
Guest
そうですよね、ですよね、
Guest
ま、多分それで言うと、ほんとにコミットメッセージをちゃんと書くっていうしかないなくなってしまうですよね、ですよね、
Guest
この辺ってどどうなんでしょう。例えば、なんか自動生成すると困るの
Guest
困る例として、例えばスカッシュマージを使うかどうかみたいな話に出てくるのかなと思ってて、普通にマジおすと、あのすごいカオスなことになるんですよね。はいはいはい、
Guest
どうしても
Guest
なんかコミットメッセージを綺麗に書くってなると、結局じゃあ、そのためにスカッシュマージに基本的にそのプロジェクトはしましょう。みたいな話も出てきてしまうよなみたいなの
Guest
ちなみにどうしてます。手動で今書くにあたって、マシとかは、かし、マジでやってるのか、普通にマジコミと入ってるのかって。え
Guest
と、ライコン自体はスカッシュマーでそんで引いちゃうブランチはマージしてますね。
Guest
はいはいはいはいあならあれですね。一応、手書きで書くときも、その大量のコミットは残ってないんで、書きやすいのを書きやすいっていうと、こうん、うん、うんですかね。うん、
Guest
あ、それで言うとあれですね。そのそのまチェンジログ書く時に、ビットハブのプロリクエストのepaを使って、どこまでマジするとか。
Guest
はいはいはいはい、
Guest
取れるともしかしたら、そのスカッシュマージせずに、スカッシュマージした時のような、そのうんうん、コミットメッセージを取れる。あ、ただ、
Guest
それが今できるかどうかはちょっとわかんないですけど。うん、うん、うん、うんうん
Guest
ああ、なるほどなるほど、確かにそれあ、でも確かにその方がいいかもしれないですね。なんか、例えばその
Guest
バージョン番号、インクリメントするようなコメントとかって、なんか結構みんなマスターに直で打ちがちとかあると思うんで、なんかこう。
Guest
例えば、スタンダードバーバージョンとかだと、デフォルトでコミットまで売ってしまうんですよ。ってなると、それってプルリクエストではないんで、なんかあの、
Guest
結構そういう細かいのって、プルリクじゃなくて、時プッシュする人もとかするケースもよくあるんで、なんか、そこを無視できるって意味では、タブリアとかから、プロリケストの情報を参照するって方がいいかも
Guest
しんないなと、
Guest
ちょっと思ったりは
Guest
いや、でも、やっぱり、コミットメッセージを綺麗に書いて
Guest
置というのはいかなる場合でも結構便利。そうすうん、うん、
Guest
なんであんまり適当なポリットメッセージを書かないっていうのは
Guest
そうすね。そうですね、そういうことかね、うん、うん
Guest
と、私からちょっとほいほい聞いておきたかったのは、あの、あれですね。そのこ、あのこみあ、チェンジログ。私あんまり正直見ないんですよね。
Guest
あのああ、普通に差分とかコードの差分とかで確認してしまったり。うんうん、うんしてて、あんまりチェンジログをななんて言うんすかねし、信用というか、ちゃんとはいはい人あんまり見ないみたいな。
Guest
そういう偏見がなんかあの、そういうチェンジ結構書いてきたとかあるのなら、なんかこういうところには知りたいみたいな、
Guest
こういうところ、書いた方がいいみたいなのありますかね。そのさっきのその読みにくいっていうチェンジ、自動生成されたやつが読みにくいっていうのは確かにそうですけど、逆に読みやすいチェログって
Guest
なんだろうかな。
Guest
単純にあれなだけでも私読みやすいのかなと思いますね。結構やっぱりエゲパッケージのチェンジログって、まあ、そもそも
Guest
エピケージのチョないことが多いんですけど、まあ、もうないきは諦めないない時は諦めるとして、なんか
Guest
あった時に、やっぱり完全に自動生成されてると、割とかノイズが多いっていうのがうん、やっぱり1番あるのかなと思
Guest
ていて。例えば警備な太鼓修正レベルのものも、プレフィックスはフィックスであるし、何かしら重大なバグのフィックスであっても、フィックスになってると、そのフィックとして生成されちゃうんですよね。
Guest
ってなると、なんか多分読む側として、フィックスのセクションを読みたい時とか、フィックスから始まってるポイントメッセージが読みたい時って、なんか結構あのライブラリのチェンジログっていう観点だと、あ、これが直ったんだみたいなのをやっぱり読みたいよなってのはあると思う
Guest
ていて、その使う側としてのバグみたいな
Guest
大きなバグとかをみ見たいけれども、そうじゃなくて、なんか細かいところが結構たくさんあったりすると、なんかこうそういうんじゃないんだよなみたいなのは結構あったり
Guest
します
Guest
ね。うん、うん、なんで読みやすさで言うと、その辺は気にした方がいいのかなとかって思いますね。
Guest
なんで、私も結構本質的じゃないやつは、消すようにしてたりとかはしますね。
Guest
あとからなるほど、
Guest
なんかあれですね。そのさっきのそのポイントメッセージから生成する系のチェンジログだと、まあ、そのフェック
Guest
って結構思っている以上に、その重大なヒックじゃないと、ヒックってつけないみたい。
Guest
そうじゃないと、逆にそのすごい警備なものも、フィックスでついてしまってると、なんか、1個の言葉が表す粒度がバラバラっていうのは、よく感じるよなとかはあ、
Guest
ありますね。
Guest
なんか、そう確かにフックっていうからにはなんかじ重大というか、まあなお治ることによってなんか変わるみたいな。
Guest
そうっすねっていうことを期待してしまうとかはあるよなとかはありますかね。
Guest
ま、あと、チェンジログ。単純に私が読む時って、ライブラリの公式サイトがあるぐらい重厚なライブラリならそれでいいんですけど、そうじゃない時って、バージョンいくつで、何が入ったのかわかんない時があるんですよね。
Guest
その細かなパッケージとかってなると、ギッドハブのリリースとチェンジログだけでま。提供してて、公式サイトみたいなのは特にないみたいなのが
Guest
多いかなとは思っていても、リアクトビューとかのフレームワークとか、タイプスクリプトとかってなると、リリースノーとか出てるんで、そっち見たら何が増えたかわかると思うんですけど、なんか、日常に使うプラグインとか、
Guest
日常に使うライブラリって、なんか結構そのサイトとかじゃないっていうことが多いんで、なんか何ができるようになったかは、結構そこで見ることがあるかなっていう気はします。あ、
Guest
まてか、気が付いたらできるようになってた時に、どこまでバージョンを上げていいのかを判断するときに使うっていうのが正しいかも。
Guest
ああ、なるほど、
Guest
あ、これこのライブラリってあれできるようになったんだってしたけれども、例えば、それが。今バージョン1.1ぐらいを使ってて、2.0でできるのはわかってるけど、2.0にあげると、なんかこうぶっ壊れそうみたいな時に、
Guest
なんか1.6ぐらいで入ってるなら、いって、6ぐらいまであげたいよなみたい。なるほど、なるほど、なるほど、判断軸に使えるかなと思
Guest
思います。
Guest
うん、確かにそう考えると、やっぱり信じる大事ですね
Guest
は読みたいなっていうな、なんでしょう。逆に、ちっちゃなパッケージというか、そのサイトとかを持つようなものでないほど、チェンジョグは読みたいかなっていうのが
Guest
うんありますかね。
Guest
いや、でもどうなんでしょう、そんなにみんなチェンジョグとか実は読まなくて、単集的にみんな作ってるだけ説のあるかもしんない。
Guest
ちょっとここまで聞いてくださってる方には、ちょっとぜひ、なんか、俺はチェンジログ読むは読まないかみたいな。
Guest
ハッシュタグ付きで書いてみてほしいですね、いいですあ、もう誰誰も読まないっていうのは作るのやめ。
Guest
あ、あとあれですね。あの、もしかしたらチェンジログっていうのの代わりに、そのgithfのgasgcsの
Guest
はいはいはい、
Guest
あっちを見てるうん、うん、うん、うん。まあ、同じ内容ならまあ、どっち見てもいいんですけど。
Guest
そうっすね。そうっすね、
Guest
うん、
Guest
あ、まあ。でも、トーブのリデーシーズンを私書くときは、これ、スタンダードバージョンが生成するやつをそのままコピーピーしてきてる。
Guest
いや、もうぜま、むしろ、そっちの方がどっちもどなんかどっちに何が書いてるのかわからなくならないんで、
Guest
そうです。そうですね、それは聞いてる人はなんかチェンジログ見るよ見ないよ。
Guest
いや、それどころか、そもそもギのギッドハブのリリース見に行ってるから、信じるっていう存在自体をそもそもこらないよとかでもいい。
Guest
なるほど、確かにどう
Guest
そういうのがあるとこう。多分、リリース、ギターリリースでよければ。それの方がまあ
Guest
楽というか、こう分かりやすくて、専用のページもできるんでいいよなとは思うんで、なんかそういうのがあったら聞いてみたいですね。
Guest
そうですね、
Guest
そんなとこですかね
Guest
というわけで、今回はですね。パッケージのバージョン管理と、えーチェンジログについて話していきました。ラインのフロントエンド開発組織UITでは、このようなフロントエンドに関する議論や、キャッチアップを日々行っております。
Guest
ビー、スリスタリーなどはですねえ、社内の学習企画から始まったコンテンツですので。そういったものも、今後も発信していきらえいければと思っています。
Guest
またですね、ポッドキャストを通じて、ラインに興味を持っていただいた方は、え、ぜひぜひカジュアル面談からでもご連絡いただければと思います
Guest
しと、株にですね。求人への連絡をえ、掲載しておりますので、え、そちらからお気軽にご連絡ください。今、ズームでのカジの面談とかも行っております。
Guest
今回はですねえ
Guest
えというわけで、今回はえーパッケージのバージョン管理と、えーチェンジログっていうところをテーマにですね。話していきました。えはねさんありがとうございました
Guest
どした