Gitlab - gitlab-ci.yml не распознает команду 7zip - PullRequest
1 голос
/ 30 октября 2019

Я только начал использовать функцию Gitlab CI / CD. Мне нужно создать почтовый файл для опубликованных предметов. Последние две строки script должны творить чудеса.

    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'

Но когда запускается сборка, я получаю следующую ошибку.

enter image description here

Однако, когда я выполнил приведенную ниже команду в Gitlab Runner, она работает отлично.

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

Похоже, я что-то здесь упускаю. Пожалуйста, помогите мне понять, как gitlab runner понимает такие команды, как 7z, echo, msbuild и т. Д.

Обратите внимание, что 7zip установлен и находится в C: \ Program Files \ 7-Zip \ 7z.exe

Ваша помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

Я решил проблему, используя следующие шаги.

  • обновлено %PATH% переменная среды, указывающая на путь 7z.exe.

  • Обновлен скрипт, как показано ниже.

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

  • Перезапущен исполнитель Gitlab, так как Gitlab не смог распознать команду 7z после обновления переменных среды,

Надеюсь, это полезно для всех.

0 голосов
/ 30 октября 2019

как 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
...