プロジェクトのセマンティック バージョニング (GitFlow) を処理するようにGitVersionをセットアップしようとしていますが、期待どおりに自動的にインクリメントされません。また、プロジェクトのドキュメントを読むのにも苦労しています。これは、最も簡単なことではありません。
基本的には、Major.Minor.Patch 規則を使用してバージョン管理システムをセットアップしたいと考えています。ここでは、Major を手動でインクリメントし、リリース ブランチが master にマージされると Minor を自動的にインクリメントし、機能ブランチが開発にマージされると Patch を自動的にインクリメントします。
これが私の現在ですGitVersion.yml
mode: ContinuousDeployment
branches:
feature:
increment: Patch
regex: feature?[/-]
release:
increment: Minor
regex: release?[/-]
develop:
regex: develop$
master:
regex: master$
ignore:
sha: []
また、それをテストするために、退屈なプロセスを高速化するための小さな Ruby スクリプトを作成しました。GitVersion と GitFlow を意図したとおりに使用していることを確認するためだけに含めました。
require "git"
def new_feature_branch i
g = Git.open(Dir.pwd)
branch_name = "feature/number-#{i}"
g.checkout("develop")
g.branch(branch_name).checkout
open('README.md', 'a') do |f|
f.puts "\r#{i}"
end
g.add("README.md")
g.commit("##{i}")
g.branch("develop").checkout
g.merge(branch_name)
g.branch(branch_name).delete
print(`gitversion`)
end
new_feature_branch(ARGV[0])
の出力gitversion
{
"Major":1,
"Minor":1,
"Patch":0,
"PreReleaseTag":"alpha.39",
"PreReleaseTagWithDash":"-alpha.39",
"PreReleaseLabel":"alpha",
"PreReleaseNumber":39,
"WeightedPreReleaseNumber":39,
"BuildMetaData":"",
"BuildMetaDataPadded":"",
"FullBuildMetaData":"Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
"MajorMinorPatch":"1.1.0",
"SemVer":"1.1.0-alpha.39",
"LegacySemVer":"1.1.0-alpha39",
"LegacySemVerPadded":"1.1.0-alpha0039",
"AssemblySemVer":"1.1.0.0",
"AssemblySemFileVer":"1.1.0.0",
"FullSemVer":"1.1.0-alpha.39",
"InformationalVersion":"1.1.0-alpha.39+Branch.develop.Sha.57a536a5c6b6abb4313a2067468413447cb49c86",
"BranchName":"develop",
"Sha":"57a536a5c6b6abb4313a2067468413447cb49c86",
"ShortSha":"57a536a",
"NuGetVersionV2":"1.1.0-alpha0039",
"NuGetVersion":"1.1.0-alpha0039",
"NuGetPreReleaseTagV2":"alpha0039",
"NuGetPreReleaseTag":"alpha0039",
"VersionSourceSha":"27938c50fc6f364eff52bccec8dbc10297bce87b",
"CommitsSinceVersionSource":39,
"CommitsSinceVersionSourcePadded":"0039",
"CommitDate":"2019-10-28"
}
機能ブランチを開発にマージするたびにパッチ番号が増加することを期待していますが、それは起こっていません。