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