Я изучаю, как работает gitlab-runner, и создаю сценарий для запуска сборок для проекта Windows C #.
Я установил бегунок на своей оболочке и установил все необходимые инструменты для сборки, но теперь яЯ нахожусь на этапе, когда мне нужно создать хороший сценарий .yml для запуска.
У меня уже есть код, но я не знаю, возможно ли иметь несколько зависимостей, таких как OR ?
Это способ, которым я хочу его настроить:
Это то, что у меня есть сейчас:
variables:
PROJECT_LOCATION: "ProjectFolder"
PROJECT_NAME: "ProjectName"
before_script:
- echo "starting build for %PROJECT_NAME%"
- cd %PROJECT_LOCATION%
stages:
- build
- artifacts
- test
- deploy
build:debug:
stage: build
script:
- echo "Restoring NuGet Packages..."
- 'nuget restore "%PROJECT_NAME%.sln"'
- echo "Starting debug build..."
- 'msbuild /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Debug /verbosity:quiet /p:AllowUnsafeBlocks=true /nr:false "%PROJECT_NAME%.sln"'
except:
- master
tags:
- windows
build:release:
stage: build
script:
- echo "Restoring NuGet Packages..."
- 'nuget restore "%PROJECT_NAME%.sln"'
- echo "Starting release build..."
- 'msbuild /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet /p:AllowUnsafeBlocks=true /nr:false "%PROJECT_NAME%.sln"'
only:
- master
tags:
- windows
artifacts:
stage: artifacts
script:
- echo "Creating artifacts..."
dependencies:
- build
artifacts:
name: "Console"
paths:
- Project.Console/bin/
expire_in: 2 days
untracked: true
name: "Service"
paths:
- Project.Service/bin/
expire_in: 1 week
untracked: true
only:
- tags
- master
- schedules
tags:
- windows
test:unit:
stage: test
script:
- echo "Running tests..."
dependencies:
- build
tags:
- windows
test:integration:
stage: test
script:
- echo "Running integration tests..."
dependencies:
- build
only:
- tags
- master
- schedules
tags:
- windows
deploy:
stage: deploy
script:
- echo "Deploy to production..."
dependencies:
- build
environment:
name: production
only:
- tags
tags:
- windows
Но, как вы можете видеть, я даю ей сборку зависимостей , и ей это не нравится, потому что у меня есть build: debug и build: release.Есть ли способ обойти это?
Если есть другие указатели, о которых я всегда должен помнить ... (Как я уже говорил, я все еще учусь)