GitLab CI 与 Visual Studio 2017 Devenv 和 power shell

GitLab CI 与 Visual Studio 2017 Devenv 和 power shell

我正在使用 GitLab CI 进行自动构建。Runner
运行在 Windows Server 2012 上,并配置为使用“shell”。

我需要构建的项目使用 Microsoft Visual Studio 开发环境(MSBuild 不支持安装程序项目。)

我可以使用命令行在 PowerShell 中构建:

$VS2017_Dev_Build = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Professional\Common7\IDE\devenv.com"  
& $VS2017_Dev_Build UTFA.sln  /Project Setup_vs2017 /Rebuild Release  

我将其翻译成.gitlab-ci.yml文件:

variables:
    VS2017_Dev_Build:  "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Professional\Common7\IDE\devenv.com" 
stages:
  - build

#Purpose: Build solution
build:
  stage: build
  when: manual
  script:
  - echo building...
  - & $VS2017_Dev_Build UTFA.sln  /Project Setup_vs2017 /Rebuild Release
  except:
  - tags

'&'GitLab 对后面第二行的符号表示不满script:

运行上述 PowerShell 命令行的正确语法是什么.gitlab-ci.yml

答案1

如果您在 YAML 验证器(独立于 GitLab 的 CI linter)中尝试此操作,您应该会看到这是一个 YAML 级别的问题。我不是 YAML 专家,但 & 符号是一个特殊字符,因此需要转义。我相信单引号或双引号在您的案例中会起作用:

 - '& $VS2017_Dev_Build UTFA.sln  /Project Setup_vs2017 /Rebuild Release'

相关内容