1 / 53

Централизованный доступ к компонентам разработки приложений с помощью NuGet

DEV307. э ксперт по технологиям веб-разработки. Microsoft. Централизованный доступ к компонентам разработки приложений с помощью NuGet. Владимир Юнев. Содержание. Проблема современной компонентной разработки NuGet – как решение проблемы: Основы: на что способен NuGet

Download Presentation

Централизованный доступ к компонентам разработки приложений с помощью NuGet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DEV307 эксперт по технологиям веб-разработки Microsoft Централизованный доступ к компонентам разработки приложений с помощью NuGet Владимир Юнев

  2. Содержание • Проблема современной компонентной разработки • NuGet – как решение проблемы: • Основы: на что способен NuGet • Создание и публикация пакетов • NuGet для команд разработчиков: • Место NuGet в компании • Создание своего сервера NuGet • NuGet иContinuous Integration • NuGet в бизнесе и проектах

  3. Проблема как добавить компонент в проект?

  4. Проблемана примере • Добавление к проектуVisual Studio библиотеки ELMAHдля регистрации ошибок

  5. Поиск сайта библиотеки Нашлось сразу, к счастью.

  6. Похоже, нам сюда

  7. ? Возможно, нам подойдет это.

  8. Ок, наверное, то что нужно.

  9. Перед распаковкой нужно зайти в Свойства

  10. И не забыть...

  11. Распаковать сборки в папку проекта

  12. Нужно добавить правильные параметры вweb.config

  13. Ну вот! Работает!

  14. Проблема • Хочу добавить всего одну фичу в проект: • Ищем нужный сайт, находим компонент • Качаем .zip/.msi/.exe • Распаковываем/запускаем • Читаем мануал • Обновляем проект: файлы, сборка, web.config, ... • ...

  15. Проблема • Хочу добавить еще фичи в проект...

  16. Проблема • Коллеги добавляют фичи у себя...

  17. Проблема • Проектов у нас несколько...

  18. Проблема • И таких компаний много

  19. Решение? пакетный менеджерNuGet

  20. PublishSettingsGenerator UrlShortener.Helper postal nservicebus Simple.Data.Core Autofac FakeItEasy Altairis.Web.Security Bootstrapper QuickGraph Spark Common.Logging FluentHtml-ci Machine.Specifications Antlr Should AutoMapper MvvmLight NUnit reactiveui-core StructureMap 51Degrees.mobi Elmah Hammock MvcMailer RhinoMocks Adam.JSGenerator Newtonsoft.Json DotNetZip BBCode fasterflect Castle Lucene AzureToolkit FluentNHibernate FluentAssertions NHibernate FluentValidation NSubstitute log4net NLog WatiN Ninject DotNetOpenAuth jQuery AutoPoco Rx Iesi Collections TweetSharp Facebook SDK HtmlAgilityPack xunit SharpZipLib MvcContrib combres iTextSharp linq.js CLEditor Moq RestSharp jQuery.Validation Simple.Data.Core MvcSiteMapProvider RavenDB ErikEJ.SqlCeMembership

  21. Главная цель - построение экосистемы разработки

  22. Решение • install-package feature • Ищем нужный сайт, находим компонент • Качаем .zip/.msi/.exe • Распаковываем/запускаем • Читаем мануал • Обновляем проект: файлы, сборка, web.config, ... • ...

  23. NuGet в командах • Install-Package • Update-Package • Uninstall-Package • Get-Package • New-Package

  24. Демонстрация • практическое использование NuGet • создание и публикация собственных пакетов

  25. NuGet – это решение! • быстрый доступ к тысячам готовых компонент • автоматическая установка, обновление, удаление • разрешение зависимостей • легкость создания пакетов и публикации • командная строка и UI,nuget.exe • расширение команд,PowerShell • открытые стандарты

  26. NuGet для команд свой серверпакетов контроль версий continuous integration

  27. Какие задачи мы пытаемся решить? Построение экосистемы на базе существующих готовых компонент и сторонних инструментов Разделение компонент бизнес-логики между командами Разделение лучших практик между командами Настройка специфичной для компании конфигурации

  28. Как задачи зачастую решаются сегодня? • Файловые хранилища с папками загруженных компонент и установщиками инструментов • Наследственные и «особые» знания • Разряженная документация в wiki, файлах или обсуждениях в email • Вытягивание решений из имеющихся исходных кодов в средстве контроля версий внутри компании

  29. Чем NuGet способен помочь? • Предлагает централизованное хранилище знаний на языке кода, сборок, конфигураций и скриптов автоматизации • Предлагает конкрентные решения вместо руководств, политик или абстрактных стандартов • NuGet – это часть автоматических процессов разработки

  30. Использование NuGet в компании • Разверните собственный репозиторий пакетов • В локальной сети или в виде веб-сервера • Начните оформлять библиотеки и компоненты компании в виде пакетов NuGet • Используйте мета-пакеты для оформления лучших практик: • Мета-пакеты - набор зависимостей • Примеры: пакет тестирования, базовый набор приложений

  31. Интеграция NuGet в компании VCS CI VCS VCS Храните проекты и конфигурацию пакетов в вашей системе контроля версий Создавайте проекты на базе пакетов NuGet, автоматизируйте создание и обновление собственных пакетов Интегрируйте NuGet в вашу систему Continuous Integration

  32. Демонстрация создание своего сервера NuGet, интеграция в компании

  33. NuGet в компании – это решение! • Единое хранилище лучших практик, библиотек и компонент компании • Быстрый доступ к сторонним компонентам • Однообразный подход к установке, обновлению и конфигурированию проектов • Интеграция в процессы разработки

  34. Примеры применения NuGet в бизнесе примеры проектов

  35. NuGet как средство доставки • Компания Devexpress

  36. NuGet как сервис • MyGet.org - oблачный NuGet

  37. NuGet и GitHub • NuGit.org – сервис интеграции с GitHub

  38. Итоги

  39. Итоги NuGet • NuGet позволит организовать централизованный доступ к компонентам и практикам разработки приложений в компании • NuGet – это основа инфраструктуры разработки ПО • NuGet – функциональный инструмент с интеграцией в процессы разработки • NuGet – открытый механизм, который может стать основой ваших собственных сервисов

More Related