如何从 .net 项目文件中获取 gitlab-ci.yml 文件中的项目版本?
Posted
技术标签:
【中文标题】如何从 .net 项目文件中获取 gitlab-ci.yml 文件中的项目版本?【英文标题】:How to get project version in gitlab-ci.yml file from the .net project file? 【发布时间】:2021-07-25 16:20:13 【问题描述】:我正在将我的项目从 Jenkins 转换为 GitLab CI。我正在从 .gitlab-ci.yml 文件中执行一个 .sh 文件,我正在使用以下语句从项目文件中提取版本:
VERSION=$(grep -oPm1 "(?
我正在获取项目版本,这工作正常。 如何在 .gitlab-ci.yml 文件中运行上述语句并将版本值分配给变量? 我尝试运行语句,但出现错误,例如无效选项“P”
【问题讨论】:
您的$(
似乎没有右括号。
【参考方案1】:
您需要在 script 块中执行命令,因此您的 gitlab-ci.yml 可能如下所示:
stages:
- test
test:
stage: test
script:
- VERSION=$(grep -oPm1 "(?<=)[^<]+" Service.csproj)
- echo $VERSION
【讨论】:
【参考方案2】:不知何故,上述 grep 对我不起作用。下面对我有用。
$VERSION=[regex]::match((Get-Content .\AssemblyFileVersion.cs), "AssemblyFileVersion\(`"(.*)`"\)").Groups[1].Value'
【讨论】:
以上是关于如何从 .net 项目文件中获取 gitlab-ci.yml 文件中的项目版本?的主要内容,如果未能解决你的问题,请参考以下文章
谷歌驱动器重定向 URI 不匹配以及如何从 ASP.net 核心 2.0 中的谷歌驱动器获取文件列表
如何将文件夹、资源和 pom 文件从 maven 项目获取到另一个 maven 项目?
如何在 ASP.NET MVC 3 的一个解决方案中从另一个项目获取文件路径?
如何从 .NET 可执行文件中获取输出并传送到 MFC 应用程序?