Как настроить ASPNET Core с Docker с помощью VSTS для создания, запуска тестов и развертывания в Azure с помощью модульных тестов и переменных среды - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь сделать что-то невероятно тривиальное, как мне показалось, но, очевидно, это должно быть сложно. И да, в переполнении стека есть кусочки, но они либо устарели, либо не работают.

  1. У меня есть основной сайт asp.net, который я закрепил с помощью команды add / docker / linux.
  2. В VSTS я могу создать образ и опубликовать его с помощью двух элементов, создающих docker.
  3. И тогда я могу выпустить образ с помощью управления выпуском.

Что я не могу понять, как это сделать:

  1. запустить дотнет-тест на моем изображении и сообщить результаты в VSTS
  2. Настройка переменных среды в контейнере службы приложений Azure, которые правильно передаются в образ при запуске.

На # 1 я не могу найти какую-либо актуальную документацию о том, как его настроить, чтобы при разработке модульных тестов не запускаться, если не указано иное (и если я скажу ему запускать тесты в visual studio, они должны Запустите в образе докера! Я могу заставить их работать всегда, но это пустая трата времени при разработке, если они запускаются каждый раз, когда вы начинаете отладку!).

И я не могу понять, как использовать docker-compose или новый способ VS.net 2017 15.8 только с командами docker run для запуска тестов. Мне кажется, что мне нужен новый dockerfile только для запуска тестов, чтобы он генерировал, а затем отбрасывал созданный образ. Но я не могу понять, как это сделать, или даже если это правильный путь.

Как это настроить, чтобы проводить модульные тесты? (Я просмотрел 5 страниц результатов поиска Google, и ни одна из них не работает правильно.)

На # 2 настройка и настройка приложения в службе приложений не передают значения при запуске Docker. Я перепробовал все, и они никогда не проходят мимо. Как передать переменные среды в Azure, чтобы команда run получила правильные параметры -e?

1 Ответ

0 голосов
/ 28 июня 2018

Для # 1 вы можете использовать тестовую команду dotnet. Это сгенерирует .trx файл, который VSTS сможет подобрать и подготовить хороший отчет о тестировании. Вам просто нужно настроить задачу «Опубликовать результаты теста».

dotnet test --logger trx --results-directory /var/temp

Подробнее смотрите в этом блоге: Выполнение модульных тестов с помощью Visual Studio Team Services и Docker Compose

Для # 2 не полностью получить свою точку зрения, если вы хотите переопределить значения переменных среды в VSTS и использовать значение в контейнере службы приложений Azure. Попробуйте это решение с помощью сценария powershell: Как переопределить значения переменных среды в задачах VSTS

Кроме того, вы также можете просмотреть этот блог, в котором показано, как Docker Развертывание в службе приложений Azure (Linux) с использованием VSTS , включая как CI, так и CD. Что может быть полезным для вас.

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