Як подружити етапи розробки з gitflow

У цій статті я розповім про те як я намагався створити бета-стенд і вбудувати його в звичайний gitflow. Спільно з читачами ми пройдемо шлях від проблем пов'язаних з цим до нової схеми роботи з гитом.
Читати далі →

GitLab Flow

Це переклад досить важливою статті про GitLab Flow, альтернативу Git і GitHub flow. Стаття була написана в 2014, так що скріншоти встигли застаріти. Тим не менше сама стаття більш ніж актуальна, особливо якщо ви до цих пір йдіть на Git Flow. Нижче сама стаття:


Розгалуження і злиття гілок в git влаштовано набагато простіше, ніж в попередніх системах контролю версій, таких як SVN. Тому є багато способів організації командної роботи над кодом, і більшість з них досить гарні. Принаймні, вони дають багато переваг в порівнянні з тим, що було до git. Але сам по собі git — не срібна куля, і в багатьох командах організація робочого процесу з git має ряд проблем:
  • Не описаний точним чином весь робочий процес,
  • Вноситься непотрібна складність,
  • Немає зв'язку з трекером завдань (issue tracker).
Ми хочемо представити вам GitLab flow — чітко певний набір практик, що вирішує ці проблеми. Він об'єднує в одну систему:

Читати далі →

Модель розгалуження та управління модулями git для великого проекту

Без малого два роки тому ми почали використовувати в розробці нашого флагманського проекту СУБД ЛІНТЕР нову модель розгалуження та управління подмодулями git-а. Десятки тисяч комітів, зроблені за цей час групою розробників, які дозволяють з певною часткою упевненості вважати нововведення успішними. Ця стаття — короткий огляд принципів організації сховища вихідних кодів у великому проекті на базі альтернативної реалізації модулів git, сформованої стратегії розгалуження та інструментарію linflow.




Читати далі →

Continuous Integration з Unity

З переходом на новий проект на Unity з відносно великою командою розробників різко встала необхідність автоматичного складання і доставки додатки на пристрої для тестування. От як з цим була ситуація, коли я прийшов на проект (під iOS):
  1. На окремій mac-машині проект вручну викачувалося з репозиторію (Asset Sever).
  2. Вручну (File->Build Settings->Build & Run) запускалася збірка в xCode-проект.
  3. Далі в xCode робився архів (Archive).
  4. Архів експортувався в ipa-файл, який вручну завантажувався в TestFlight.
  5. Далі, вже в TestFlight доступ надавався потрібне тестерам.
Все описане вище автоматизується за допомогою так званої безперервної інтеграції (англ. Continuous Integration, CI). На моїх попередніх проектах для цих цілей використовувався TeamCity від JetBrains (творців зручного інструменту рефакторінгу коду Resharper). TeamCity (TC) — дуже потужний програмний продукт, виконує цілі, поставлені перед системою безперервної інтеграції, на всі 100%. Він вміє навіть більше. Але мова в статті піде не про нього (про нього вже є статті на хабре), а про новому сервісі Unity Cloud Build, спеціально для розробників на движку Unity.

Читати далі →

Процес Code Review з Atlassian Stash

Всім привіт! Ось і наша компанія вирішила завести блог на Хабре (зрештою, не вічно ж читати чужі статті). профілі компанії ви можете подивитися, чим ми займаємося. Найближчим часом ми запропонуємо вашій увазі цикл статей з широкого спектру тем: від сервісів дистрибуції та підтримки тестових збірок iOS додатків до програмного управління IIS. А перша наша публікація присвячена Atlassian Stash.


На поточний день на хабре практично відсутня будь-яка інформація про Atlassian Stash (всього один анонс і одна стаття на тему установки). Хоча інструмент, насправді, прекрасний, і виразно стоїть розгляду у разі використання всього стека Atlassian. Я хочу розповісти що це таке і як цю штуку можна додати в процес розробки.

Читати далі →

GIT Quiz-практикум з використання git, для початківців

  Я сам переходив з SVN на GIT кілька років тому і перекладав інших розробників. За цей час у мене сформувалося розуміння, що теорія, книжка, google / stackoverflow — це добре, але є нюанс.
 
 "Чим відрізняється теорія від практики? У теорії — нічим! На практиці все трохи не так. "
 
     
  • Читати що "гілки — це круто" — це одне, а от перестати боятися робити гілки — інше;
  •  
  • Мати можливість робити локальні комміти — це одне, а робити їх в реальності — зовсім інше;
  •  
  • Хтось знає як використовувати в теорії, але на практиці не робив і тому і не використовує;
  •  
  • Хтось просто не знає, а чого не знаєш, то й не використовуєш.
  •  
 
Саме з цього, я написав Git Quiz для своїх колег — щоб люди звикли використовувати git, як git, а не як svn; щоб у розробників сформувалася м'язова пам'ять, щоб теорія стала практикою.
 
Особливість quiz в тому, що це не підручник, чи не тест з варіантами відповіді або без них. GIT Quiz — це міні лабораторна робота. Час проходження тесту 15-45 хвилин.
 
Всього 19 послідовних кроків. У кожного кроку є:
 
     
  1. Опис що потрібно зробити по завданню;
  2.  
  3. Версія репозитория до кроку;
  4.  
  5. Версія репозитория після кроку;
  6.  
  7. Скріншот після виконання кроку;
  8.  
  9. Відео — як зробити завдання.
  10.  
 Самі задачки — це покрокове виконання розробки з gitflow з використання git.
Посилання на проект в github
 
Читати далі →