version: 2.1 jobs: build: docker: - image: mcr.microsoft.com/dotnet/sdk:8.0 steps: - checkout - run: name: Восстановление зависимостей command: dotnet restore "Individual Task 1/Individual Task 1.fsproj" - run: name: Сборка проекта command: dotnet build "Individual Task 1/Individual Task 1.fsproj" -c Release - persist_to_workspace: root: . paths: - Individual Task 1 - .git test: docker: - image: mcr.microsoft.com/dotnet/sdk:8.0 steps: - attach_workspace: at: . - run: name: Запуск на тестовых данных command: cd "Individual Task 1" && dotnet run docker_build: machine: image: ubuntu-2204:current steps: - attach_workspace: at: . - run: name: Сборка Docker образа command: docker build -t euler-105:${CIRCLE_SHA1} -f "Individual Task 1/Dockerfile" "Individual Task 1" - run: name: Запуск контейнера command: | docker run --name euler-test euler-105:${CIRCLE_SHA1} docker logs euler-test - run: name: Очистка контейнера command: docker rm euler-test when: always workflows: version: 2 build_test_deploy: jobs: - build - test: requires: - build - docker_build: requires: - test