changie -取り替えと選択


置換


オッズは、大規模なプロジェクトに取り組んでいる場合、または複数の言語を使用しているチームの一部です.Pythonをマシンラーニングのために走らせ、フロントエンドで動作し、バックエンド用のRuby on RailsといくつかのJava Spring Servicesが点在します.エンジニア自身がDockerやKubernetesのような多くの解決策を持っているので、これは問題ではありません.
これらのツールには、リリースを準備して配備する必要がある方法についてのすべての変更があります.共通の1つのことは、共有changelogのリリースノートを供給することです.このため、それは重要だったChangie できるだけ多くの言語を越えて仕事をする.これが達成される一つの方法はreplacement configurations . この構成により、Changieは新しく作成したバージョンをビルドプロセスの一部としてファイルを更新できます.それは非常に同様に動作しますsed バージョンの値のテンプレートを移動します.

NODEJS


いくつかの例を通して実行できます.Nodejsプロジェクトでは、パッケージのJSONファイルにプロジェクトバージョンが含まれます.あなたのリリースノートをバッチするとき、Changieがこの値を更新するには、以下の設定も使用できますdocs here )
replacements:
  - path: package.json
    find: '  "version": ".*",'
    replace: '  "version": "{{.VersionNoPrefix}}",'

Python


Pythonプロジェクトのバージョンを定義する多くの方法があります.しかし、fastAPI のいずれかでバージョン属性を作成することです__init__.py or __main__.py プロジェクトのルートでファイルします.例えばhere バージョンがFastAPIのために定義されるところです.これは次のような設定で更新できます:
replacements:
  - path: "fastapi/fastapi/__init__.py"
    find: '__version__ = ".*"'
    replace: '__version__ = "{{.VersionNoPrefix}}"'


貨物のtomlファイルにはversion field そのための置換は次のようになります.
replacements:
  - path: "cargo.toml"
    find: 'version = ".*"'
    replace: 'version = "{{.VersionNoPrefix}}"'
これらはほんのいくつかの例ですが、もちろん、複数の置換を含めることができますし、任意の言語のために動作するはずです.

選択


Changieは2つの質問に対する答えをユーザに促します.これらは親切で体です.種類は、追加、固定、削除、または廃止のような変更の型に関連付けられます.Kind configuration ラベル、ヘッダー、およびフォーマットを設定できます.
番目の質問は、変化の体です.これはグローバルに、または、種類ごとに無効にすることができます.特定のプロンプトを必要とする特定の種類の変更を無効にしてください.
Custom choices 各変更フラグメントの追加情報を提供する追加プロンプトを追加するように設定できます.これらの選択肢は、変更形式で使用できるカスタムマップに追加されます.
短い例は、Changie自身から問題番号を求めて、書式設定時にリンクを追加するものです.長江.changie.yaml 基本的に問題の選択を加えたデフォルトの設定です.
changeFormat: '* [#{{.Custom.Issue}}](https://github.com/miniscruff/changie/issues/{{.Custom.Issue}}) {{.Body}}'
custom:
- key: Issue
  type: int
  minInt: 1
もう一つの考えは最後に著者へのリンクを含めることです.
# config yaml
custom:
- key: Author
  type: string
  minLength: 3
changeFormat: '* {{.Body}} fixed by [@{{.Custom.Author}}](https://github.com/{{.Custom.Author}})
カスタムの選択肢は、ヘッダーとフッターの形式で使用することができます.フッターで著者を含むなど.
custom:
- key: Author
  type: string
  minLength: 3
footerFormat: |
  ### Contributors
  {{- range (customs .Changes "Author" | uniq) }}
  * [{{.}}](https://github.com/{{.}})
  {{- end}}
それは今のところすべてです.Twitterでスタートするか、Aを始めることでdiscussion on GitHub .