bstdman
@bstdman
Desktop разработчик

Как связать Gitlab CI и проекты Visual Studio?

Привет всем.

Есть настроенный сервер GitLab, используемый для совместной работы с репозиториями Git. Появилось желание настроить Gitlab CI для автоматической сборки проектов Visual Studio, в дальнейшем - и для запуска тестов.

Настроил оба продукта, установил на отдельный сервер runner для Windows и MSBuild. И застопорился на написании Job Script для сборки приложения.

Кто-нибудь делал подобное?
  • Вопрос задан
  • 8290 просмотров
Решения вопроса 1
bstdman
@bstdman Автор вопроса
Desktop разработчик
Отвечу сам себе, вот пример job script для построения Release и Debug конфигураций, с восстановлением пакетов из Nuget (e3Shell.Extensions.sln - имя файла решения):

git submodule update --init
ls -la

echo "Restoring NuGet Packages..."
"c:\nuget\nuget.exe" restore "e3Shell.Extensions.sln"

echo "Debug build..."
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Debug /verbosity:quiet "e3Shell.Extensions.sln"

echo "Release build..."
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "e3Shell.Extensions.sln"

echo "Build success."


Update 27.10.15: для новых версий Gitlab (начиная с версии 7.12) в репозитории создается файл .gitlab-ci.yml со следующим содержимым:
stages:
  - build

job:
  stage: build
  script:
  - git submodule update --init
  - ls -la
  - ''
  - echo "Restoring NuGet Packages..."
  - '"c:\nuget\nuget.exe" restore "TerminalClone.sln"'
  - ''
  - echo "Debug build..."
  - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly
    /maxcpucount /nologo /property:Configuration=Debug /verbosity:quiet "TerminalClone.sln"
  - ''
  - echo "Release build..."
  - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly
    /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "TerminalClone.sln"
  - ''
  - echo "Build success."
  tags: 
  except:
  - tags
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы