Зачем нужен и что такое докер. Чем он отличается от виртуальных машин. Как создать, сохранить и запустить свой докер-контейнер.
Обновленная презентация с шестого 4front митапа в Минске.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TKConf
Когда вы пытаетесь следовать гибким методологиям, создавать небольшие автономные команды, микросервисы в вашем проекте появляются естественным путем. Или нет. Обязательно поговорим о "Монолит vs. Микросервисы". И хотя эти маленькие трудяги помогают вам scale и достигать agility они неплохо добавляют вам проблем с доставкой и разработкой.
В заключении попробую ответить на вопрос как деплоить 5 или 50 микросервисов? Не знаю, но давайте попробуем Docker.
Основы Docker. История проекта, OpenContainer Initiative, архитектура, пример композиции контейнеров на примере поискового движка YASEn, используемого для поиска билетов в Aviasales.ru.
Зачем нужен и что такое докер. Чем он отличается от виртуальных машин. Как создать, сохранить и запустить свой докер-контейнер.
Обновленная презентация с шестого 4front митапа в Минске.
TК°Conf. Микросервисы и Docker. Глеб Паньшин.TKConf
Когда вы пытаетесь следовать гибким методологиям, создавать небольшие автономные команды, микросервисы в вашем проекте появляются естественным путем. Или нет. Обязательно поговорим о "Монолит vs. Микросервисы". И хотя эти маленькие трудяги помогают вам scale и достигать agility они неплохо добавляют вам проблем с доставкой и разработкой.
В заключении попробую ответить на вопрос как деплоить 5 или 50 микросервисов? Не знаю, но давайте попробуем Docker.
Основы Docker. История проекта, OpenContainer Initiative, архитектура, пример композиции контейнеров на примере поискового движка YASEn, используемого для поиска билетов в Aviasales.ru.
Codeception + Docker + Robo и что из этого вышлоCOMAQA.BY
Параллелизация тестов, а именно: лучший пхп тулл для автоматизации (Codeception); основы Docker контейнирезации; robo - что это и зачем он нам нужен; profit
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
Рассказываем о том, как мы жили без Docker'а и зачем его решили использовать. А также описываем процесс внедрения в CI и, в частности, в тесты, плюс с какими проблемами столкнулись и как их побороли.
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
Депрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
Непрерывная интеграция Python-проектов в ЯндексеAndrey Kazarinov
Рутинные операции тестирования, сборки и развёртывания заставляют в нервном ожидании толстеть на кофепоинте, а частый релизный цикл создаёт лёгкое головокружение? Чтобы помочь вам сохранить тело подтянутым, а голову светлой, я расскажу об организации и особенностях непрерывной интеграции в Python-проектах на примере популярных инструментов.
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Codeception + Docker + Robo и что из этого вышлоCOMAQA.BY
Параллелизация тестов, а именно: лучший пхп тулл для автоматизации (Codeception); основы Docker контейнирезации; robo - что это и зачем он нам нужен; profit
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Badoo Development
Рассказываем о том, как мы жили без Docker'а и зачем его решили использовать. А также описываем процесс внедрения в CI и, в частности, в тесты, плюс с какими проблемами столкнулись и как их побороли.
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
Депрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
Непрерывная интеграция Python-проектов в ЯндексеAndrey Kazarinov
Рутинные операции тестирования, сборки и развёртывания заставляют в нервном ожидании толстеть на кофепоинте, а частый релизный цикл создаёт лёгкое головокружение? Чтобы помочь вам сохранить тело подтянутым, а голову светлой, я расскажу об организации и особенностях непрерывной интеграции в Python-проектах на примере популярных инструментов.
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
HighLoad++ 2017
Зал «Пекин + Шанхай», 8 ноября, 17:00
Тезисы:
http://www.highload.ru/2017/abstracts/2991.html
Нынче стало модно выделять UI-компоненты в отдельную библиотеку и использовать её в нескольких проектах. Мы в команде почты Mail.ru делаем так же, но столкнулись с проблемой: каждый разработчик, меняя библиотеку под свои нужды, обязательно ломает что-нибудь, что работало у других.
Я расскажу о том, как мы решили эту проблему, и о том, какие инструменты для этого можно использовать. Storybook, BackstopJS, Jest, Webdriver.io, TypeScript - в их числе.
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
1. Обзор Windows Docker (кратко)
2. Как мы построили систему билда приложений в Docker (Visual Studio\Mongo\Posgresql\etc)
3. Примеры Dockerfile (выложенные на github)
4. Отличия процессов DockerWindows от DockerLinux (Долгий билд, баги, remote-регистр.)
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
Aleksandr Matkovskiy – Head of IT Department lives and works with the motto "Scaling and load balancing is our all!". Therefore, he has 3 sons and dreams to find DEV for his OPS.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Vladislav Anikin – Team Leader & Software Architect, specializing in SAAS flexible and scalable solutions for business. Driving DDD/TDD oriented squad of awesome SOLID developers.
You will be able to see how the CI / CD was created and saved our lives. From concept to the final product.
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
Сегодня всё больше и больше компаний решаются на перевод своей инфраструктуры и сервисов в облака. Некоторые даже начинают строить свой бизнес, не имея ни единого собственного сервера для обработки или хранения пользовательских данных, и при этом становятся лидерами в своих сегментах рынка.
Но, несмотря на очевидные преимущества этого подхода, не всех устраивает перспектива быть привязанными к конкретному поставщику облачных услуг. В докладе рассказывается об основных тенденциях в современном «облакостроении», о свободе и гибкости и, самое главное, представляется наша открытая облачная платформа.
The main questions this presentation awsers:
How to replace all software development support tools - bug tracker, task trackers, boards, dashboards, source control, build machines with TFS and not broke anything.
How to extend TFS with typescript and have fun doing this
Будут рассмотрены следующие вопросы:
— С++ живее всех живых;
— Embedded системы и язык C и C++;
— Немного о новшествах, внесённые в новые стандарты языка;
— О тенденции безопасного программирования;
— О развитии инструментария;
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
Идея доклада — рассказать об использовании Jenkins как не типичного инструмента для построения распределенной сборки продукта, зарабатывающего миллионы долларов. Мы поделимся секретами его адаптации под сборку билдов сложных систем/продуктов с многими компонентами и ускорения в разы этой задачи.
Наша проблема: линейная сборка продукта занимает 8 часов. А Jenkins «из коробки» не умеет собирать сложные иерархии. При этом писать код самостоятельно не хочется. В итоге мы придумали, как использовать существующий инструмент, пройдясь по нему напильником.
Кому будет интересно: Эти знания могут помочь людям, которые хотят построить эффективный CI, но не хотят тратить много времени на исследования.
Мы выложим наш код и материалы на GitHub. Это будет довольно практично.
Лайфхаки:
Используем Build Flow + Groovy скрипты чтобы оркестрировать сложную иерархию с параллельными ветвями и собирать результаты
Правильное использование префиксов в названиях job-ов помогают автоматизировать группировку по бранчам
Переиспользуем окружения сборки много раз, не удаляя их
Предыдущий пункт в итоге оставляет за собой кучу мусора, которую мы периодически очищаем при помощи системных Groovy скриптов по job префиксу
Группировка большого количества job-ов в проекты и бранчи с использованием Nested View
Дамп и разворачивание job-ов из системы контроля версий по шаблону
Ну и взгляд в будущее: автоматический анализ билд проблем.
http://2014.404fest.ru/reports/jenkins/
Кирилл Ветчинкин Практика использования .NET Core на ОС Linux с применением а...MskDotNet Community
Технология.net Core от Microsoft позволила.Net разработчикам разворачивать приложения на Linux. Вместе с этим появилось и множество новых возможностей для более эффективной разработки и поставки. В докладе будут разобраны основные проблемы разработки, поставки, тестирования и рассмотрены схемы их решения, используя такие средства как: GitLab, Vgarant+VirtualBox, TeamCity, Ansible, Octopus Deploy, Docker. Мы поговорим про создание тестовых сред, управление инфраструктурой из кода и CI/CD. Основная цель доклада — продемонстрировать, что.net Core на Linux — это выгодно, быстро и управляемо.
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки
2. Мотивация
• Приносим лабораторки на дискете, а они не работают
• Пишем проект на С++ дома под Linux, а заказчику демонстрируем
под Windows
• Тестируем на своей машине и сразу катим в продакшн
• Пишем сразу под разные ОС, рулим 10-ки C++ зависимостей,
интегрируем новый функционал в систему из 10-ка компонентов
• Сами придумываем требования, пишем код, тестируем, релизим
и разворачиваем
• И теперь меня распирает всем этим поделиться
2
3. Меня не интересует, будет ли это работает на ваших машинах!
Мы не отдаем их заказчику!
Vidiu Platon
3
4. Мастер класс «CI для C++ разработчика»
• Написали «Hello, world»
• Собрали его 10-ом компиляторов под 3 ОС
• Добавили к этому тесты на gtest
• Развернули VPS
• Запустили на нем систему управления репозиториями
• Настроили автосборку и прогон тестов
• И все это заняло 6 часов и 1 обед
4
11. • Автоматический запуск сборки из github
• Linux & Mac OS
• Конфигурирование через файл (.travis.yml)
• Параллельные сборки
• Continuous delivery
11
18. • Кросс-платформенное управление зависимостями
• Python для конфигурационных файлов
• Создание собственных пакетов
• Тестирование собранных пакетов
• Собственный сервер хранения артефактов (путь к CD)
• Автоматизация мультисборки
18
23. • Управление инфраструктурой
• Gitlab
• Gitlab CI runners
• Conan server
• Docker registry
• Среды для сборки
• GCC 5.9, 6.3, …
• Clang 3.9, 4.0, …
• Apple-clang 8.1, …
• Упаковка приложения со всеми зависимостями в контейнер
• Версионирование контейнеров
• Возможности под развертыванию
23
24. Любой человек должен уметь менять пеленки, планировать
вторжения, резать свиней, конструировать здания, управлять
кораблями, писать сонеты, вести бухгалтерию, возводить стены,
вправлять кости, облегчать смерть, исполнять приказы, отдавать
приказы, сотрудничать, действовать самостоятельно, решать
уравнения, анализировать новые проблемы, побросать навоз,
программировать компьютеры, вкусно готовить, хорошо
сражаться, достойно умирать.
Специализация — удел насекомых.
Роберт Хайнлайн
24
25. Источники
1. CI для C++ разработчика - описание, код и слайды
2. Martin Fowler. Continuous Integration – blogpost
3. Continuous Integration Vs Continuous Delivery Vs Continuous
Deployment – blogpost
4. Travis CI and Modern C++ - blogpost
5. Travis CI. The OS X Build Environment – docs
6. Conan package manager – docs
7. Разделяй и управляй вместе с conan.io - видео и слайды
8. Running your conan server - docs
9. Gitlab Runner - docs
25