【问题标题】:How to get project version in gitlab-ci.yml file from the .net project file?如何从 .net 项目文件中获取 gitlab-ci.yml 文件中的项目版本?
【发布时间】:2021-07-25 16:20:13
【问题描述】:
我正在将我的项目从 Jenkins 转换为 GitLab CI。我正在从 .gitlab-ci.yml 文件中执行一个 .sh 文件,我正在使用以下语句从项目文件中提取版本:
VERSION=$(grep -oPm1 "(?
我正在获取项目版本,这工作正常。
如何在 .gitlab-ci.yml 文件中运行上述语句并将版本值分配给变量?
我尝试运行语句,但出现错误,例如无效选项“P”
【问题讨论】:
标签:
gitlab
continuous-integration
gitlab-ci
【解决方案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'