Результаты модульного теста от вызова «dotnet test» в Docker - PullRequest
1 голос
/ 08 мая 2019

Я начинаю исследовать функцию Azure Devops и ее конвейеров для настройки непрерывного рабочего процесса интеграции.У меня есть конвейер, который создает образ Docker моего приложения с использованием следующего файла dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build-env

WORKDIR /cicd

# restore (put more volatile, changing projects later in process)
COPY src/WebApp/WebApp.csproj ./src/WebApp/
RUN dotnet restore src/WebApp/WebApp.csproj -s http://mycontainerrepo.acme.com/repository/nuget/

COPY tests/WebApp.Test/WebApp.Test.csproj ./tests/WebApp.Test/
RUN dotnet restore tests/WebApp.Test/WebApp.Test.csproj -s http://mycontainerrepo.acme.com/repository/nuget/

# copy source
COPY . .

# test (if tests fail, no final image, yay)
RUN dotnet test tests/WebApp.Test/WebApp.Test.csproj

# publish
RUN dotnet publish src/WebApp/WebApp.csproj -o /publish

# runtime stage
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS release
COPY --from=build-env /publish /publish
WORKDIR /publish
ENTRYPOINT ["dotnet", "WebApp.dll"]

Вызов для запуска dotnet test выполняется очень хорошо и выводит результаты на консоль, но я не знаюлюбой способ использовать этот результат в конвейере.В TeamCity вы можете установить переменную окружения , чтобы обманным путем вывести результаты теста (думаю, только xUnit ...).Но не уверен, что здесь есть подобная хитрость ...

Я видел этот пост на Github о создании отдельного тестового изображения только для тестирования, но надеялся избежать этого маршрута, если только он не мойoption.

Есть ли другие гуру CI / CD Azure Devops?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...