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.
63 lines
1.6 KiB
63 lines
1.6 KiB
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 |