【问题标题】: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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      相关资源
      最近更新 更多