【发布时间】:2022-08-24 19:30:46
【问题描述】:
我有一个 .NET 6.0 Web API 并希望它知道它的版本。为了发布 Docker 镜像,我使用 Github Actions docker/build-push-action@v3.1.0。我尝试使用MinVer,这完全符合我的需求,因为它使用了最新的 git 版本标签,并将自该版本以来的提交数添加为最后一位。但由于docker/build-push-action@v3.1.0 没有完整的Git 环境,Minver 无法在构建镜像时提取Git 标签的版本号。在创建 Docker 映像之前,可以使用 CLI 工具提取版本:
- name: install minver-cli
run: dotnet tool install --global minver-cli
- name: get version
run: echo \"MINVERBUILDMETADATA=$(minver --tag-prefix v --verbosity e)\" >> $GITHUB_ENV
- name: echo environementvariable
run: echo ${{ env.MINVERBUILDMETADATA }}
如果 MINVERBUILDMETADATA 在构建时确实作为环境变量存在,MinVer 不会尝试提取 git 历史记录的版本,而只是使用该版本。但看起来docker/build-push-action@v3.1.0 中不存在此环境变量。
在创建 Docker 映像时,还有其他方法可以使用基于 git 标签的版本号吗?
标签: .net docker github-actions versioning minver