# #continuous-integration #gitlab-ci #gitlab-ci-runner #cicd #gitlab-ci.yml
#gitlab #непрерывная интеграция #gitlab-ci #cicd #gitlab-ci.yml
Вопрос:
Я хочу реализовать CI/CD, чтобы всякий раз, когда команда разработчиков вносит какие-либо изменения в свою сборку, весь мой пакет автоматизации запускался перед сборкой и развертыванием.
У меня есть файл yml в GitLab и сценарии автоматизированных тестовых примеров в Visual Studio (платформа Specflow на C#).
Пожалуйста, найдите ниже файл yml:
demo_job_1: stage: test tags: - win script: - echo "Test 1 started" - '"C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEExtensionsTestPlatformvstest.console.exe /ProjName.dll"' - '"C:Program Files (x86)Microsoft Visual Studio2019CommunityCommon7IDEMSTest /testcontainer:D:UsersusernamesourcereposProjectProjNamebinDebugnetcoreapp3.1ProjName.dll"' - "D:UsersusernamesourcereposProjectProjNameProjName.slnTestTestFeature1.csproj"'
Но моя работа проходит без фактического выполнения каких-либо тестовых примеров из проекта
Структура папок в Visual studio:
Я пытался внести много изменений в путь, но ни одно не сработало. Я вступаю на неверный путь? Кто-нибудь может, пожалуйста, помочь мне с этим? Если файл yml полностью неверен, то может ли кто-нибудь, пожалуйста, помочь мне в том же? Заранее спасибо!!! 🙂
P. S: Я проверил yml перед его фиксацией, и ymlvalidator показал его как правильный файл yml.
Комментарии:
1. Кто-нибудь может, пожалуйста, помочь мне с этим?
2. Привет, в твоем скрипте я вижу путь «C:». Файл, который вы хотите выполнить, должен находиться в репозитории git. А чтобы иметь контекст Visual Studio, вам необходимо указать связанное изображение
3. Спасибо @Jean-Phi Baconnais за то, что направили меня. После долгих поисков я наконец нашел решение, которое публикую ниже
Ответ №1:
demo_job_1: stage: test tags: - tags script: - Root dir location path - 'dotnet restore lt;path to the ProjName.slngt;' - 'dotnet msbuild lt;path to the ProjName.slngt;' - 'dotnet test lt;path to the ProjName.slngt;'
Надеюсь, это поможет и другим тоже!!!