Msbuild Gitlab-Gitlab-ci.yml无法识别7zip命令

Msbuild Gitlab-Gitlab-ci.yml无法识别7zip命令,msbuild,gitlab,gitlab-ci,gitlab-ci-runner,7zip,Msbuild,Gitlab,Gitlab Ci,Gitlab Ci Runner,7zip,我刚开始使用Gitlab的CI/CD功能。我需要为发布的项目创建zip文件。脚本的最后两行应该会起到神奇的作用 build: stage: build script: - echo "Testing CI CD" - git clone https://gitlab.io/common-dependencies.git - git clone https://git

我刚开始使用Gitlab的CI/CD功能。我需要为发布的项目创建zip文件。脚本的最后两行应该会起到神奇的作用

    build:
        stage: build
        script:
            - echo "Testing CI CD"
            - git clone https://gitlab.io/common-dependencies.git
            - git clone https://gitlab.io/sitecore-nuget.git
            - nuget restore
            - msbuild Common.SC.sln /property:Configuration=Release
/p:PublishProfile=C:\CICDArtifacts\Artifacts_Release.pubxml


            - cd .\bin\Release
            - '"C:\Program Files\7-Zip\7z.exe" a C:\CICDArtifacts\$CI_PROJECT_NAME-$CI_JOB_ID.zip'
但是当构建触发时,我得到以下错误

然而,当我在Gitlab runner中执行下面的命令时,它运行得非常好

"C:\Program Files\7-Zip\7z.exe" a C:\CICDArtifacts\commonProject.zip'
看来我在这里遗漏了什么。请帮助我理解gitlab runner如何理解诸如
7z
echo
msbuild
等命令

请注意,安装了7zip,它位于 C:\ProgramFiles\7-Zip\7z.exe

非常感谢你的帮助

gitlab runner如何理解echo、msbuild等命令

如果它们的父文件夹位于
%PATH%
中,它应该能够理解它们

如果运行不带引号的命令无效,请尝试其他脚本行:

- cmd /C "\""C:\Program Files\7-Zip\7z.exe" a C:\CICDArtifacts\commonProject.zip"
不带引号的表单为:无单引号:

- "C:\Program Files\7-Zip\7z.exe" a C:\CICDArtifacts\commonProject.zip

我已使用以下步骤解决了问题

  • 更新了指向7z.exe路径的
    %PATH%
    环境变量

  • 更新脚本如下

    '-7z a C:\cicdarifacts\$CI_PROJECT_NAME-$CI_JOB_ID.zip'

  • 在更新环境变量后,Gitlab无法识别
    7z
    命令,因此重新启动了Gitlab运行程序

希望对大家有帮助

使用

- powershell -Command executable.exe arguments

这个命令对我在gitlab yaml中启动exe起到了作用。

请尝试不带引号的命令<代码>-C:\Program Files\7-Zip\7z.exe a C:\CICDArtifacts\commonProject.Zip感谢您让我了解“gitlab runner如何理解echo、msbuild等命令”,有了这些信息,我就能够解决这个问题了。更新了答案