Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...ScrumTrek
Работаете над проектом втроем (вчетвером, впятером, вдесятером и тд) и у вас постоянные конфликты в системе контроля версий? - В спешке пытаетесь собрать проект, но не можете найти рабочую версию, а клиент просит здесь и сейчас? - Процесс тестирования и выпуск новой версии - стресс для вас и вашей команды? Решить эти и другие проблемы поможет git-flow. Вы узнаете, как git-flow связан с процессом непрерывной интеграции, как это поможет быстро доставлять вашим клиентам исправления критических ошибок и как эти изменения автоматически попадут в текущую версию продукта. Приходите, если даже просто интересно, причем тут git и подойдет ли SVN, Hg или TFS?
Презентация методологии git-flow для стабильной разработки
Текстовая версия: https://medium.com/ruopsdev/git-flow-presentation-b80643390888
Скачать презентацию в формате pptx: https://docs.google.com/presentation/d/1Bgx5GP9ykGYKUnAaD53Y0YIpPpHHSbvT/edit?usp=sharing&ouid=106302903983671723423&rtpof=true&sd=true
Вместе с Алексеем Ашурком мы расскажем о том, как проект «Фламп» релизится по 2n раз в неделю и комфортно себя при этом чувствует:
— Ветки - это хорошо или о переходе с SVN на Git.
— Чем плоха «классическая» модель релизов.
— Что такое модель пофичных релизов, в чём её плюсы и минусы.
— Почему она подходит для веб-сервисов.
— Как идти в ногу со временем или частые деплои.
— Как ловить ошибки и минимизировать их число.
Видео доклада: http://devday.2gis.ru/report/15
Никита Шультайс. "Система управления версиями git"Egor Stremousov
Основные тезисы выступления:
- организация репозитория,
- ветвление,
- базовые команды,
- работа в одиночку и в команде.
После выступления прошла бурная дискуссия, обмен опытом и приятное общение с профессионалами.
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...ScrumTrek
Работаете над проектом втроем (вчетвером, впятером, вдесятером и тд) и у вас постоянные конфликты в системе контроля версий? - В спешке пытаетесь собрать проект, но не можете найти рабочую версию, а клиент просит здесь и сейчас? - Процесс тестирования и выпуск новой версии - стресс для вас и вашей команды? Решить эти и другие проблемы поможет git-flow. Вы узнаете, как git-flow связан с процессом непрерывной интеграции, как это поможет быстро доставлять вашим клиентам исправления критических ошибок и как эти изменения автоматически попадут в текущую версию продукта. Приходите, если даже просто интересно, причем тут git и подойдет ли SVN, Hg или TFS?
Презентация методологии git-flow для стабильной разработки
Текстовая версия: https://medium.com/ruopsdev/git-flow-presentation-b80643390888
Скачать презентацию в формате pptx: https://docs.google.com/presentation/d/1Bgx5GP9ykGYKUnAaD53Y0YIpPpHHSbvT/edit?usp=sharing&ouid=106302903983671723423&rtpof=true&sd=true
Вместе с Алексеем Ашурком мы расскажем о том, как проект «Фламп» релизится по 2n раз в неделю и комфортно себя при этом чувствует:
— Ветки - это хорошо или о переходе с SVN на Git.
— Чем плоха «классическая» модель релизов.
— Что такое модель пофичных релизов, в чём её плюсы и минусы.
— Почему она подходит для веб-сервисов.
— Как идти в ногу со временем или частые деплои.
— Как ловить ошибки и минимизировать их число.
Видео доклада: http://devday.2gis.ru/report/15
Никита Шультайс. "Система управления версиями git"Egor Stremousov
Основные тезисы выступления:
- организация репозитория,
- ветвление,
- базовые команды,
- работа в одиночку и в команде.
После выступления прошла бурная дискуссия, обмен опытом и приятное общение с профессионалами.
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...Ivan Korolev
Minimal Version Selection (MVS) is a new dependency management algorithm in the upcoming Go 1.11 release, available out-of-box.
This talk covers how MVS helps to resolve the existing problems with dependency vendoring and how one should use new go tooling from the upcoming release.
В новом релизе Go 1.11 появится возможность работы с зависимостями "из коробки". В докладе рассказывается про используемый алгоритм разрешения зависимостей "Minimal Version Selection", решаемые с его помощью проблемы, и показано, как жить в чудесном новом мире Go 1.11
Jenkins Imperative Pipeline vs Declarative Pipeline Кирилл Толкачёв
Презентация со встерчи JUG MSK про Groovy DSL
Проводитили сравнение новой фичи Jenkins – Declarative Pipelines путем попытки переписать уже существующий пайплайн по доставке ПО на декларативный. Описали подводные камни и обсудили проблемы.
Видео можно будет найти тут https://vk.com/jugmsk или тут https://plus.google.com/communities/115981831554057619568
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
Данный доклад познакомит Вас с системой управления версиями файлов Git, которой пользуется Drupal-сообщество. Эта система может значительно упростить жизнь команды разработчиков, а также обезопасить Вас от потери файлов. В доклад также входит описание систем управления версиями в целом.
Видео доклада:
http://www.youtube.com/watch?v=3urk3xf79SM
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
For a long time, the Prom.ua shopping cart was part of a monolith. After migration to SSR there was a need to reuse it and make it a separate application.
In my talk, I will tell about the approach to building interaction between frontend applications and show how we applied it to Prom.ua shopping cart.
Release management with Gradle #JokerConf2016Кирилл Толкачёв
Talk about Gradle. Best practice and Caveats.
Share build logic between project/team and discuss about result
Use netflix #nebula plugins.
Create super gradle plugin for apply other plugin and configure tasks by one line.
Zerg Rush strategy for developers - it`s good or bad? May be ugly? :)
And other topics and questions...
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
Рассказ о Configuration as Code в Jenkins и возможностях Pipeline: DSL, Multi-Branch, Pipeline Model Definition, восстановление после ошибок, параллелизация задач, интеграции. В каком направлении развивается экосистема?
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
В докладе расскажу о шишках, набитых в процессе настройки SEO для конкретного проекта. Речь пойдет о настройке SEO для своего одностраничного приложения как с привлечением сторонних сервисов, так и самостоятельно, используя PhantomJS или рендеринг на стороне сервера. Также, поделюсь особенностями размещения share-кнопок от различных провайдеров.
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...Ivan Korolev
Minimal Version Selection (MVS) is a new dependency management algorithm in the upcoming Go 1.11 release, available out-of-box.
This talk covers how MVS helps to resolve the existing problems with dependency vendoring and how one should use new go tooling from the upcoming release.
В новом релизе Go 1.11 появится возможность работы с зависимостями "из коробки". В докладе рассказывается про используемый алгоритм разрешения зависимостей "Minimal Version Selection", решаемые с его помощью проблемы, и показано, как жить в чудесном новом мире Go 1.11
Jenkins Imperative Pipeline vs Declarative Pipeline Кирилл Толкачёв
Презентация со встерчи JUG MSK про Groovy DSL
Проводитили сравнение новой фичи Jenkins – Declarative Pipelines путем попытки переписать уже существующий пайплайн по доставке ПО на декларативный. Описали подводные камни и обсудили проблемы.
Видео можно будет найти тут https://vk.com/jugmsk или тут https://plus.google.com/communities/115981831554057619568
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
Данный доклад познакомит Вас с системой управления версиями файлов Git, которой пользуется Drupal-сообщество. Эта система может значительно упростить жизнь команды разработчиков, а также обезопасить Вас от потери файлов. В доклад также входит описание систем управления версиями в целом.
Видео доклада:
http://www.youtube.com/watch?v=3urk3xf79SM
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
For a long time, the Prom.ua shopping cart was part of a monolith. After migration to SSR there was a need to reuse it and make it a separate application.
In my talk, I will tell about the approach to building interaction between frontend applications and show how we applied it to Prom.ua shopping cart.
Release management with Gradle #JokerConf2016Кирилл Толкачёв
Talk about Gradle. Best practice and Caveats.
Share build logic between project/team and discuss about result
Use netflix #nebula plugins.
Create super gradle plugin for apply other plugin and configure tasks by one line.
Zerg Rush strategy for developers - it`s good or bad? May be ugly? :)
And other topics and questions...
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
Рассказ о Configuration as Code в Jenkins и возможностях Pipeline: DSL, Multi-Branch, Pipeline Model Definition, восстановление после ошибок, параллелизация задач, интеграции. В каком направлении развивается экосистема?
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
В докладе расскажу о шишках, набитых в процессе настройки SEO для конкретного проекта. Речь пойдет о настройке SEO для своего одностраничного приложения как с привлечением сторонних сервисов, так и самостоятельно, используя PhantomJS или рендеринг на стороне сервера. Также, поделюсь особенностями размещения share-кнопок от различных провайдеров.
Алексей Раменский (Тэглайн) | Обзор рынка российской заказной веб-разработки ...RIF-Technology
Российский рынок заказной веб-разработки: структура и специализации компаний, города-лидеры, используемые технические решения и инструменты автоматизации, принципы работы, проблемы и перспективы.
Обзор российского рынка веб-разработки будет полезен большинству российских технических и маркетинговых руководителей — как компаний-разработчиков, так и представителей клиентской стороны.
Также Тэглайн представит Рейтинг аутсорс-продакшнов в digital — компаний, которые сфокусированы на производстве digital-продуктов по четким требованиям под руководством более крупного продакшна, агентства или опытного прямого клиента. Рейтинг компаний, которые на самом деле программируют, верстают, тестируют, рисуют и анимируют все то, что вы видите каждый день.
Сергей Сергеев "Менеджмент кода, или Почему SCM"Yandex
В Яндексе не только пишут код, но ещё и запускают его в виде сервисов. Из доклада вы узнаете, как мы обслуживаем наш код, какие процессы выстраиваем для правильного соблюдения релизного цикла и как нам в этом помогает Git и GitHub.
Креативная подборка лучших новых кейсов января от стратегов TBWA\Moscow.
В этом месяце:
ТЕХНОЛОГИИ
Очки дополненной реальности от Microsoft
Браслет записывает ТВ-шоу после того как зритель уснет
Меню, понимающее скрытые желания посетителей
Стать писателем с помощью игры
Умное зеркало помогает с примеркой
Персональный робот – на все случаи жизни
РЕКЛАМА
Приложение для женщин, скрытое от мужских глаз
Реклама в YouTube как кастинг-шоу
Tumblr объединяет креативных людей
Игра Pac-Man в реальной жизни
Сергей Сергеев — Maintainer кода в большом проектеYandex
Команда разработки интерфейсов поиска у нас большая и распределённая. Maintainer кода — кто он в нашей команде? Какие задачи решает? Как использует Git и GitHub для решения этих задач? Об этом рассказывается в докладе.
Успешная карьера в современной разработки программного обеспеченияSergey Morgunov
Краткая информация о том, что должен знать каждый разработчик программного обеспечения.
Видео версия презентации http://www.youtube.com/watch?v=MqKFIcfouQc
The document discusses the elements of design used in various Iron Man suits. It describes 6 different suits - the Deep Sea suit, Black Stealth suit, Heavy Lifting suit, Suitcase suit, War Machine suit, and discusses how design elements like line, shape, color, size are incorporated. Elements like balance, rhythm, emphasis help enhance characteristics like flexibility, strength and focus areas like the chest plate for different purposes like exploration, combat or construction. Principles of design are key to creating aesthetically pleasing designs that draw attention.
Гит, несмотря на то, что все им пользуются, напоминает айсберг и огромная часть его функционала загадочна для большинства разработчиков. Я попытаюсь дать обзор правильных практик работы с гитом в применении к Друпал-проектам, осветить некоторые тёмные, но интересные закоулки, предостеречь от ошибок, которые сам совершал.
Привет, Санкт-Петербург!
В разгар летнего сезона, мы поговорим об историях обновлений,
например, с 6.4 до 7.х, с разными трюками, а также об истории исследования разных регрессий на продуктах Atlassian и других плагинов.
Наша программа будет пополняться, и мы рады к сотрудничеству.
Ждем Вас на встрече в Яндекс Деньгах.
Обзор архитектуры и подсистем деплоя и мониторинга.
Как инженеры делают систему прозрачной для разработки.
1) Схема организации репозитория puppet.
Зачем мы сделали репозиторий публичным внутри компании?
Как мы "делим" puppet, и что делать, если все "пропало"?
Собственная реализация механизма puppet kick.
2) Как рассказать всем обо всем и никого не потерять.
"Черный мониторинг" (rbmon). Как мы собираем информацию о серверах и демонах.
Делимся логами с разработчиками. Почему написали "велосипед"?
3) Graphite - система сбора и визуализации данных.
Почему graphite?
1М метрик в минуту?
Какие метрики мы рисуем (nginx-graphite-module, rbmon plugins).
Визуализация работы проекта (Dashboard пульт).
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...Ontico
1) Схема организации репозитория puppet.
Зачем мы сделали репозиторий публичным внутри компании?
Как мы "делим" puppet, и что делать, если все "пропало"?
Собственная реализация механизма puppet kick.
2) Как рассказать всем обо всем и никого не потерять.
"Черный мониторинг" (rbmon). Как мы собираем информацию о серверах и демонах.
Делимся логами с разработчиками. Почему написали "велосипед"?
3) Graphite - система сбора и визуализации данных.
Почему graphite?
1М метрик в минуту?
Какие метрики мы рисуем (nginx-graphite-module, rbmon plugins).
Визуализация работы проекта (Dashboard пульт).
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Badoo Development
В крупном интернет проекте при построении непрерывной интеграции возникает множество проблем и рутинной работы. Этот доклад о том, как мы избежали проблем и автоматизировали большую часть работы. Мы показали связь непрерывной интеграции со всеми стадиями разработки программного продукта.
А также вы узнаете из доклада:
1. Модель разработки каждой задаче в отдельной ветке, плюсы и минусы.
2. Как автоматизировать рутинные операции в системе контроля версий.
3. Организации работы с хуками в Git в условиях большого количества репозиториев.
4. Автоматизация работы с баг трекером, как у нас проходит ревью кода.
5. Построение непрерывной интеграции для компилируемых и не компилируемых компонентов.
6. Автоматизация сборок с зависимостями из веток релиза для компилируемых компонент.
7. Continuous delivery и почему большое количество веток не всегда плохое решение для данного подхода.
И конечно же Release engineering, как он влияет на разработку и качество продукта.
После доклады вы поймете все основные процессы при построении непрерывной интеграции и увидите как важна автоматизация в данном процессе.
2. ЧТО ТАКОЕ VCS?
Совсем для начинающих:
• Что такое системы управления версиями?
• Зачем они нужны?
• Как с ними работают?
3. ТЕРМИНОЛОГИЯ
• Репозиторий (repository);
• Рабочая копия (working copy);
• Ветка (branch);
• Набор изменений (changeset);
• «Голова» (head);
• Слияние (merge);
• Конфликт (conflict);
• Фиксация (commit);
• Перенос точки ветвления (rebase);
• Откладывание изменений (shelving);
• Ревизия (revision);
• Тег (tag);
• Синхронизация (sync).
4. SERVER OR NOT
• Централизованные системы управления версиями;
• Сильные и слабые стороны;
• Децентрализованные системы управления версиями;
• Сильные и слабые стороны;
• Чем выделяется Git, и почему он так хорош?
5. ОСОБЕННОСТИ GIT
• Git репозитории;
• Децентрализация;
• Git не о файлах, Git о патчах;
• Git не о копиях репозитория, Git о ветках;
• Кунг-фу Git, сильнее других.
6. ПРЕИМУЩЕСТВА
• Высокая производительность;
• Средства интеграции;
• Продуманная система команд;
• Качественный веб-интерфейс из коробки;
• Легкость настройки любой конфигурации и
встраивания в рабочий процесс.
7. НЕДОСТАТКИ
• Плохая переносимость не на Unix системы;
• Не отслеживает каталоги;
• У некоторых возникают проблемы с переносом
файлов;
• Плохо работает с большими объемами бинарных
данных;
• Многие просто не осилили (=
10. GIT FLOW
• A successful Git branching model;
• Была предложена Vincent Driessen;
• Проверена автором:
• использовалась модель в рабочих проектах;
• использовалась в рабочих проектах.
11. ВЗГЛЯД СВЕРХУ
Данная модель позволяет
максимально эффективно
использовать возможности
Git при разработке
программного
обеспечения, а также
организовать на основе
этой модели правильную
модель релизов и выкатки
на production.
12. ПОЧЕМУ GIT?
• CVS/SVN консервативны;
• Управление ветками – одна из сложнейших задач на
крупных проектах под управлением CVS/SVN;
• Git базируется на идее активного использования веток;
• Представленная модель не панацея и не открытие. Она
просто работает, и может работать у многих.
• Нашли свое лучшее решение? Используйте его.
13. GIT ЦЕНТРАЛИЗАЦИЯ
• Централизация условна;
• Команда сама принимает
соглашение по поводу
централизации и работы;
• Каждый разработчик может
обмениваться в
двустороннем порядке с
центральным
репозиторием;
• Каждый разработчик может
обмениваться в
двустороннем порядке с
репозиториями других
разработчиков, в обход
центрального.
14. ГЛАВНЫЕ ВЕТКИ
• Две центральные ветки:
• master;
• develop.
• Святая святых:
• origin/master;
• origin/develop.
• HEAD origin/master:
• production ready;
• только релизы.
• HEAD origin/develop:
• integration branch;
• ночные сборки.
15. ДОПОЛНИТЕЛЬНЫЕ
ВЕТКИ
• Три типа дополнительных веток:
• feature;
• release;
• hotfix.
• Каждая ветка для своих задач.
• Специальные – не технически, а логически.
• Используйте соглашения внутри команды.
16. FEATURE ВЕТКИ
• Наследуются только от
develop;
• Сливаются обратно только в
develop;
• Имя ветки может быть любым,
кроме master, develop, release-*,
hotfix-*;
• Рекомендую именовать:
• feature-name;
• feature-task-number.
• Не сливать в origin;
• Только в локальных
репозиториях.
17. FEATURE
LIFE CYCLE
Создание ветки:
$ git checkout -b myfeature develop
Switched to a new branch "myfeature»
Конец жизненного цикла ветки:
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
19. RELEASE ВЕТКИ
• Ветвление этих веток может быть произведено только
от develop;
• Эти ветки должны сливаться обратно в develop и в
master;
• Имя ветки должно быть формата release-*;
• Предназначены для подготовки релиза продукта;
• Пока не выпущен релиз, весь оставшийся код ждет
окончания выпуска релиза;
• Релиз получает номер версии именно при создании
этих веток.
20. RELEASE - СОЗДАНИЕ
Создание release ветки
$ git checkout -b release-1.2 develop
Switched to a new branch "release-1.2"
$ ./bump-version.sh 1.2
Files modified successfully, version bumped to 1.2.
$ git commit -a -m "Bumped version number to 1.2"
[release-1.2 74d9424] Bumped version number to 1.2
1 files changed, 1 insertions(+), 1 deletions(-)
21. RELEASE
ЧТО ДЕЛАТЬ?
• Обновление версии во всем исходном коде, где она
есть;
• Тщательно проверяется исходный код, проводится
тестирование, исправляются недочеты;
• Никакого нового функционала не добавлять (!).
22. RELEASE - ЗАКРЫТИЕ
Закрытие ветки идет в три этапа:
• Выпуск релиза;
• Изменения из ветки возвращаются в develop ветку;
• Удаление ветки.
23. RELEASE – ЗАКРЫТИЕ
ШАГ ПЕРВЫЙ
Производится выпуск релиза
$ git checkout master
Switched to branch 'master'
$ git merge --no-ff release-1.2
Merge made by recursive.
(Summary of changes)
$ git tag -a 1.2
24. RELEASE – ЗАКРЫТИЕ
ШАГ ВТОРОЙ
Возвращение изменения обратно в develop
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff release-1.2
Merge made by recursive.
(Summary of changes)
26. HOTFIX ВЕТКИ
• Ветвление этих веток
может быть
произведено только от
master;
• Эти ветки должны
объединяться обратно
c master и develop;
• Имя ветки должно быть
формата hotfix-*;
• Это те же release-ветки,
только для выпуска
незапланированных
релизов (bugfix
релизов);
27. HOTFIX - СОЗДАНИЕ
Ветка создается ветвлением от ветки master
$ git checkout -b hotfix-1.2.1 master
Switched to a new branch "hotfix-1.2.1"
$ ./bump-version.sh 1.2.1
Files modified successfully, version bumped to 1.2.1.
$ git commit -a -m "Bumped version number to 1.2.1"
[hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1
1 files changed, 1 insertions(+), 1 deletions(-)
28. HOTFIX – ЗАКРЫТИЕ
ШАГ ПЕРВЫЙ
Производятся нужные изменения для исправления ошибки
$ git commit -m "Fixed severe production problem"
[hotfix-1.2.1 abbe5d6] Fixed severe production
problem
5 files changed, 32 insertions(+), 17 deletions(-)
29. HOTFIX – ЗАКРЫТИЕ
ШАГ ВТОРОЙ
Слив изменений в master и обновление тега
$ git checkout master
Switched to branch 'master'
$ git merge --no-ff hotfix-1.2.1
Merge made by recursive.
(Summary of changes)
$ git tag -a 1.2.1
30. HOTFIX – ЗАКРЫТИЕ
ШАГ ТРЕТИЙ
Занесение изменений в develop ветку
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff hotfix-1.2.1
Merge made by recursive.
(Summary of changes)
34. GIT FLOW И DEPLOY
• На production сервер выкатываются версии только из
origin/master;
• На staging сервер выкатываются версии только из
origin/develop;
• Для автоматизации выкатки можно использовать git
hooks.