You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.3 KiB

version: 2.1
jobs:
build:
docker:
- image: mcr.microsoft.com/dotnet/sdk:8.0
steps:
- checkout
- run:
name: Восстановление зависимостей (Individual Task 1)
command: dotnet restore "Individual Task 1/Individual Task 1.fsproj"
- run:
name: Сборка проекта (Individual Task 1)
command: dotnet build "Individual Task 1/Individual Task 1.fsproj" -c Release
- run:
name: Восстановление зависимостей (lab 5)
command: dotnet restore "lab 5/lab 5.fsproj"
- run:
name: Сборка проекта (lab 5)
command: dotnet build "lab 5/lab 5.fsproj" -c Release
- persist_to_workspace:
root: .
paths:
- Individual Task 1
- lab 5
- .git
test_it1:
docker:
- image: mcr.microsoft.com/dotnet/sdk:8.0
steps:
- attach_workspace:
at: .
- run:
name: Запуск на тестовых данных (Individual Task 1)
command: cd "Individual Task 1" && dotnet run
test_lab5:
docker:
- image: mcr.microsoft.com/dotnet/sdk:8.0
steps:
- attach_workspace:
at: .
- run:
name: Запуск проекта (lab 5)
command: cd "lab 5" && dotnet run
docker_build:
machine:
image: ubuntu-2204:current
steps:
- attach_workspace:
at: .
- run:
name: Сборка Docker образов
command: docker compose build
- run:
name: Запуск контейнера (Individual Task 1)
command: |
docker compose up -d euler-105
docker compose logs euler-105
- run:
name: Запуск контейнера (lab 5)
command: |
docker compose up -d lab5
docker compose logs lab5
- run:
name: Очистка контейнеров
command: docker compose down
when: always
workflows:
version: 2
build_test_deploy:
jobs:
- build
- test_it1:
requires:
- build
- test_lab5:
requires:
- build
- docker_build:
requires:
- test_it1
- test_lab5