2022.08.17semantic-releaseは、次の制約を導入することで、バージョン管理とパッケージ公開を完全に自動化します。次のバージョン番号の決定、リリースノートの生成、パッケージの公開など、パッケージリリースワークフロー全体を自動化することができます。これにより、semantic-versioningの仕様に厳密に従って、人間の感情とバージョンの間の直接的な関係がなくなります(おそらくルールに従い機械的にバージョンを決定するため、人がバージョンアップする際に次のバージョンで悩んだり、人による曖昧なバージョンの付け方から解放されると理解しました)。dist-tagsなど)で公開するCIワークフローと統合する手動リリースに関連する潜在的なエラーを回避するプラグインを介してパッケージマネージャーと開発言語をサポートする共有可能な構成によるシンプルで再利用可能な構成どうやって実現するか?コミットメッセージの規約semantic-releaseは、コミットメッセージ形式よってコードベースの変更の種類を判断します。conventional-commitsの規約に従って、自動的に次のバージョン番号を決定し、変更ログを生成し、リリースを公開できるようになります。xxxCI環境による自動化semantic-releaseは、リリースブランチでビルドが成功するたびにCI環境で実行されることを目的としています。このようにすることで、人がリリースプロセスに直接関与することはなく、リリースに感情や気持ちが含まれてないことが保証されます。requestのマージ、他のブランチからのマージによってCI環境のビルドが起動し、semantic-releaseを実行して、パッケージの機能に影響を与えるようなコードベースの変更が前回のリリースからあった場合にリリースを行います。semantic-releaseでは、公開されたリリースのタイミング、内容、対象者をコントロールするさまざまな方法を提供しています。次のレシピでワークフローの例をご覧ください。releasesPre-releasesリリース手順テストを実行した後、semantic-releaseは次の手順を実行します。要件semantic-releaseを使用するには、次のものが必要です。v10.18以降がインストールされていること(公式ツールを利用する場合だと思う)最後に公式ドキュメントの内容に従ってsemantic-releaseの概要について書きましたが、上手く導入できればソフトウェアのリリース作業を省力化できそうです。制約が多くなるため、チームによる開発時は学習コストやレビューの負担が大きくなりそうな点、またうまく運用しないとリリースが多くなる可能性があります(人がリリースに介入しようとすること自体がsemantic-releaseと相反するところでもあり、トレードオフの関係になるところでしょうか)。実際に使っていかないと分からない点もあるので、GitHub(Repository、Actions、Packages)と公式ツールで評価環境を作ってみます。次の記事も合わせご覧ください。Commitsは、コミットメッセージの書き方を決めて、開発者の意思疎通や自動化ツールの導入を容易にするための仕様です。Commitsの仕様は、コミットメッセージのための軽量の規約です。0.4.0をリリースしました。こちらで公開しています。気になる話題Gradle6.9がリリースされました2021-05-07にGradle6.9がリリースされましたね。7.0からのバックポートリリースのようです。主な変更点は次の通りです。16がリリースされました。Siliconバイナリ、および追加の安定したAPIが含まれます。Lakeの構成で一式購入しました。0.6.0をリリースしました。こちらで公開しています。次の新しい機能を追加しています。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。フィードはご利用いただけません。i=(e.attr("data-feedid"),e.attr("data-feedid")),o=(e.attr("data-postid"),e.attr("data-postid")),s=(e.attr("data-feed"),e.attr("data-feed"));jQuery.ajax({url:ctf.ajax_url,type:"post",data:{action:"ctf_get_more_posts",last_id_data:t,shortcode_data:u,num_needed:a,persistent_index:c,feed_id:i,location:f(e),post_id:o,v2feed:s},success:function(u){""!==t?(-1==u.indexOf("。