Как реализовать непрерывную доставку с помощью DNX и ASP.NET 5

Я работаю над платформой .net уже несколько лет и должен сказать, что очень впечатлен тем, как Microsoft делает кроссплатформенную совместимость .net.

Я часами пытался запустить на Mac небольшое приложение hello world, созданное с помощью CoreCLR. И это сработало. Хотя есть еще много НЕИЗВЕСТНЫХ, которые я все еще пытаюсь понять, есть один вопрос, на который я не смог найти ответ в Google.

Как вы автоматизируете развертывание приложения dnx. Я имею в виду, компилируете ли вы свое приложение aspnet 5 в пакет nuget, а затем восстанавливаете его на своем сервере Linux (я никогда не использовал Linux, поэтому не уверен, как там работает nuget) и запускаете команду dnx? Или просто заархивировать и отправить на сервер напрямую?

Извините, это все очень ново для меня, поэтому мои вопросы могут показаться глупыми. Я просто хочу знать, как лучше всего реализовать непрерывную доставку для моих приложений asp.net 5. Моя конечная цель — разместить мои приложения в контейнерах Linux.


person Bilal Fazlani    schedule 09.12.2015    source источник


Ответы (1)


Вы можете использовать dnu publish --runtime <name of runtime> --no-source. Это создает папку с вашим приложением, его зависимостями и средой выполнения. Затем все, что вам нужно сделать, это получить эту папку на вашем сервере.

То, как вы перемещаете файлы, действительно зависит от вашего сценария... Это может быть FTP, хранилище, Kudu (если вы находитесь на веб-сайтах Azure) и т. д.

Другой вариант — выполнить восстановление на сервере. Хотя это уменьшает размер приложения при публикации, вам придется восстанавливать пакеты на сервере, которые могут быть небезопасными, а также могут привести к сбоям в работе приложения, поскольку в каналах могут быть более новые, несовместимые пакеты.

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

Для докера я рекомендую то же самое. Опубликуйте со средой выполнения и без исходников и создайте контейнер с полученной папкой.

person Victor Hurdugaci    schedule 10.12.2015