continuous delivery для asp.net mvc проекта под linux

Post on 08-Apr-2017

290 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Continuous Delivery для ASP.NET MVC проекта под Linux

Станислав СтолбовByndyusoft.com

vk.com/sastolbov

MICROSOFT LINUX

12-я конференция .NET разработчиков15 мая 2016dotnetconf.ru

2

Зачем автоматизировать развертывание ПО?

Ручное развертывание: Не надежный, часто меняющийся процесс Поддержка документации для ручного процесса Требует навыки специалиста для чтения документации Зависит от квалификации исполнителя Рутинный процесс, провоцирующий ошибки Процесс проверки развертывания долгий → дорогой Сложность аудита процесса развертывания

3

Continuous Delivery

Автоматизация рутинного процесса непрерывной доставки изменений ПО в разные среды

Прозрачность процесса → ↓ошибок Масштабируемость Высокая скорость доставки изменений Спокойствие разработчика

4

Конвейер развертывания

Build Tests DeploySourceControl

Codding Feedback

5

Инструментарий

Visual Studio (или любой другой инструмент

разработчика) github.com (или иная система контроля версий) TeamCity (build + test + deploy) Docker (Запуск приложения в контейнере) – Linux Ubuntu

6

Конвейер развертывания

Teamcity Build+tests+deploy

DockerGitHub

Visual Studio

Feedback

7

.Net Core 1.0 ASP.NET 5 is being renamed to ASP.NET Core 1.0 .NET 5 is being renamed to .NET Core 1.0 .Net становится платформо-независимым OpenSource Больше возможностей На текущий момент не Production версия,

продолжают разработку

8

ASP.Net Core 1.0 особенности

Новый Web-server Kestrel Кросс-платформенный, компактный,

более ориентирован на облачные хостинги

Изменена файловая структура Новые программы для компиляции и

запуска.

9

DNVM , DNU, DNX DNVM – The .NET Version Manager DNX – The .NET Execution Environment DNU – .NET Development Utilities

DNVM install -version... DNVM list DNU restore, build DNX -p project.json web

10

Docker Открытая платформа для разработки, доставки и

эксплуатации приложений Безопасный, изолированный запуск приложений Экономия ресурсов (технических и

административных)

11

Архитектура Docker

Образы (images) Реестр (registries) Контейнеры

Docker Public/Private

Registry

Image (read-only) Meta DataFiles

Container (1) :port

Container (n) :port...

12

Dockerfile для ASP.Net Core 1.0

FROM microsoft/aspnet:1.0.0-rc1-final

COPY . /app/WORKDIR /appRUN ["dnu", "restore"]

EXPOSE 5004ENTRYPOINT ["dnx", "-p", "project.json", "web"]

13

Как развернуть образ Dockershell: Docker build -t <ContainerName> DockerFile Docker run -d -t <ContainerName>Kitematic:

14

Linux with Docker Servercontainers:

DemoGIT

ASP.NET Core 1.0 Sample

DEV:81

branch /dev

UAT:82PROD:80

TEAMCITYagentTEAMCITY

Server 3 build configs

15

Спасибо за внимание

Станислав СтолбовByndyusoft

sstolbov@byndyusoft.comvk.com/sastolbov

top related