我可以使用以下命令成功获取完整的json字符串:
docker run --rm -v `pwd`:`pwd` gittools/gitversion-dotnetcore:linux-4.0.0 `pwd` -output json它输出的内容如下:
{
"Major":0,
"Minor":1,
"Patch":0,
"SemVer":"0.1.0-dev-2.1",
.
.
.
"CommitsSinceVersionSource":20,
"CommitsSinceVersionSourcePadded":"0020",
"CommitDate":"2020-05-28"
}因为我只对SemVer变量感兴趣,所以我尝试使用-showvariable FullSemVer:
docker run --rm -v `pwd`:`pwd` gittools/gitversion-dotnetcore:linux-4.0.0 `pwd` -output json -showvariable FullSemVer但它失败了,出现了一个相当长且令人讨厌的错误日志。
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标志?
发布于 2020-05-30 04:51:13
我认为问题出在传递给GitVersion的路径参数。pwd将为您提供主机上的工作目录,而不是容器内的工作目录。不幸的是,GitVersion不知道它是在容器中执行的,因此需要为它提供卷目录/repo作为计算版本号的路径。这是我们应该考虑在版本6中更改的内容。
我也记不清-showvariable是什么时候实现的,所以为了安全起见,您应该尝试使用newer version of our Docker containers。我也可以推荐使用alpine容器,因为它是我们提供的最小的容器(只有83.9MB)。这是可行的:
docker run \
--rm \
--volume "$(pwd):/repo" \
gittools/gitversion:5.3.4-linux-alpine.3.10-x64-netcoreapp3.1 \
/repo \
-output json \
-showvariable FullSemVerhttps://stackoverflow.com/questions/62071896
复制相似问题