首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gitversion Docker显示变量

如何使用gitversion Docker显示变量
EN

Stack Overflow用户
提问于 2020-05-29 02:24:46
回答 1查看 432关注 0票数 2

我可以使用以下命令成功获取完整的json字符串:

代码语言:javascript
复制
docker run --rm -v `pwd`:`pwd` gittools/gitversion-dotnetcore:linux-4.0.0 `pwd` -output json

它输出的内容如下:

代码语言:javascript
复制
{
  "Major":0,
  "Minor":1,
  "Patch":0,
  "SemVer":"0.1.0-dev-2.1",
.
.
.
  "CommitsSinceVersionSource":20,
  "CommitsSinceVersionSourcePadded":"0020",
  "CommitDate":"2020-05-28"
}

因为我只对SemVer变量感兴趣,所以我尝试使用-showvariable FullSemVer

代码语言:javascript
复制
docker run --rm -v `pwd`:`pwd` gittools/gitversion-dotnetcore:linux-4.0.0 `pwd` -output json -showvariable FullSemVer

但它失败了,出现了一个相当长且令人讨厌的错误日志。

代码语言:javascript
复制
INFO [05/28/20 18:23:12:10] End: Loading version variables from disk cache (Took: 76.31ms)
ERROR [05/28/20 18:23:12:13] An unexpected error occurred:
System.NotImplementedException: The method or operation is not implemented.

我想知道是否有一种方法可以在gitversion Docker容器中使用-showvariable标志?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-30 04:51:13

我认为问题出在传递给GitVersion的路径参数。pwd将为您提供主机上的工作目录,而不是容器内的工作目录。不幸的是,GitVersion不知道它是在容器中执行的,因此需要为它提供卷目录/repo作为计算版本号的路径。这是我们应该考虑在版本6中更改的内容。

我也记不清-showvariable是什么时候实现的,所以为了安全起见,您应该尝试使用newer version of our Docker containers。我也可以推荐使用alpine容器,因为它是我们提供的最小的容器(只有83.9MB)。这是可行的:

代码语言:javascript
复制
docker run \
    --rm \
    --volume "$(pwd):/repo" \
    gittools/gitversion:5.3.4-linux-alpine.3.10-x64-netcoreapp3.1 \
    /repo \
    -output json \
    -showvariable FullSemVer
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62071896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档