Привіт, Хабр!


Минулого тижня ми випустили нову версію Upsource 2017.1 — перше велике оновлення в цьому році. У нову версію увійшло безліч нових функцій, ряд поліпшень в частині юзабіліті і не тільки. Тепер до ваших послуг крос-проектний текстовий пошук, браузерні повідомлення, відстеження прогресу рев'ю, підтримка squash/rebase, нові воркфлоу, базова підтримку GitLab і багато іншого!

Подивіться стислий огляд нової версії англійською мовою:



Читати далі →

Вийшов GitLab 8.16: Підтримка Google Container Engine, вбудований Prometheus + тайм-трекінг в CE

Історія з видаленням бази звичайно затьмарила всі інші новини про ГитЛаб. Так що якщо ви пропустили релізний пост про зміни і нові функції в GitLab 8.16, нижче — його переклад:
Наша мета — зробити участь у розробці доступним для кожного. Для цього ми робимо інструментарій GitLab простим у використанні, налаштуванні і обслуговуванні. попередній версії GitLab ми реалізували просту настройку безперервної інтеграції (continuous integration, CI) і автоматичне розгортання (deploy) в Kubernetes. А в першому релізі нового року ми робимо наступний крок до нашої мети.

Читати далі →

Subversion vs. Git: Розвінчання міфів про розвінчанні міфів

Subversion vs. Git: Myths and Facts стверджує, що розвінчує деякі міфи про системи контролю версій. Я засумнівався в їх «факти» і перевірив деякі з них. Результатом перевірки став підірваний авторитет сайту, і скептичне ставлення до інших тверджень.

Читати далі →

Маловідомі Git-команди



У Git є суворі зобов'язання щодо зворотної сумісності: багато просунуті можливості приховані за різноманітними опціями, а не застосовуються як поведінка за замовчуванням. На щастя, Git також підтримує і аліаси, так що ви можете створювати свої власні команди, які роблять всю характерну для Git магію. Під катом — добірка корисних (або як мінімум забавних) аліасів, визначених у моєму .gitconfig.

Читати далі →

Вийшов GitLab 8.15

В останньому релізі минулого року ми завершуємо наш Майстер-план і хочемо показати вам дещо цікаве з того, над чим ми працювали.

У GitLab 8.15 з'явилася фіча Auto Deploy – автоматизована налаштування розгортання і додатків для рев'ю (Review Apps). Для проекту на Ruby on Rails така настройка займе менше хвилини. Подивіться, як це працює, у відео на 1:42.
до того Ж, доступ до ваших середовищ (environments) став швидше і простіше: через термінал безпосередньо в GitLab (там же 5:18)
Ми хочемо дати кожному можливість використовувати всю міць контейнерів (containers), безперервної інтеграції і розгортання (continuous integration and deployment, скорочено CD/CI), додатків для рев'ю (review apps) і планувальників контейнерів (container schedulers). У GitLab 8.15 ми взяли на себе всю складну роботу по налаштуванню, і вся вона відбувається абсолютно прозоро. У демонстраційному відео ми налаштовуємо і розгортаємо Ruby-додаток з review apps, кількома середовищами і чатопсом (chatops, управління інфраструктурою через інтеграцію з чатом) на кластер Kubernetes приблизно за 12 хвилин. Без GitLab таке завдання зазвичай займає дні, якщо не тижні.
Для більшості з нас грудень — місяць свят і подарунків. GitLab теж отримав в подарунок багато нових фіч.

Читати далі →

Docker, GitLab, безкоштовні SSL-сертифікати та інші плюшки сучасної веб-розробки

І знову здрастуйте!
Майже п'ять років вже не писав тут нових статей, хоча, якщо чесно, завжди знав, що рано чи пізно почну це робити знову. Не знаю як вам, а мені все таки це справа завжди здавалося досить захоплюючим.
Починати написання нового матеріалу після такого тривалого відпочинку від цієї справи — найважче. Але якщо мета поставлена — треба йти до кінця. Почну трохи здалеку.
Все своє свідоме життя основним родом моєї діяльності була і залишається донині веб-розробка. Саме тому, зізнаюся відразу, що даний матеріал варто сприймати саме як спроба побудови Docker-кластера від системного адміністратора любителя, але ніяк не професіонала. У цій статті я не можу не претендувати на експертну думку у кластеризації і навіть, більше того, сам же хочу перевірити достовірність власного досвіду.
Під хабракатом ви знайдете Quick Start по використанню Docker на рівні, необхідному для вирішення конкретних завдань, зазначених нижче, без заглиблення в "ліс" віртуалізації та інших супутніх тем. Якщо ви досі хочете почати успішно використовувати цю сучасну технологію, тим самим значно спростивши цілий ряд процесів: від розробки веб-продуктів і до розгортання і перенесення їх під яку-небудь сучасне обладнання — прошу під кат!
Opening Illustration - Docker
Читати далі →

Використання Github в якості сховища даних

Зображення коміта
Вибираючи сервіс для зберігання моїх даних, важливою складовою є те, як довго такий сервіс буде жити. Від нього потрібно, щоб я зміг хоча б прочитати збережені дані навіть якщо ентузіазм авторів проекту закінчиться разом з грошима для оплати хостингу і бази даних. З таким підходом для свого проекту я шукав сервіси баз даних, які могли б зберігати дані користувача безкоштовно. Багатообіцяючим проектом був Parse.com, про який я вже писав раніше в статті «Сайт без бек-ендом». Але в січні 2016 ми дізналися, що Parse.com проживе тільки один рік і буде закритий. У зв'язку з цим я вирішив перевести зберігання даних користувачів в git-репозиторій, який опубліковано на Github.
Читати далі →

Вийшов GitLab 8.14

Уявіть, що ви робите рев'ю коду нової фічі. Крім якості коду вам також цікаво, як вона буде виглядати і працювати у вашому продукті і наскільки зручно буде її використовувати. Раніше вам довелося б перервати процес розробки на власній робочій машині, зробити checkout на проверяемую гілку, провести потрібні міграції БД і запустити всю робочу середу (development environment), необхідну для застосування. Тепер вам достатньо зайти в мерж-реквест цієї гілки на GitLab. Там буде посилання на вже працюючий додаток, розгорнуте в окремій середовищі.
Нарешті, рев'ю завершено, і ви даєте колезі зворотний зв'язок у чаті.
Замість того, щоб вирішувати, хто з вас піде заводити нову задачу в трекері, ви можете створити завдання і оцінити час на її розробку, не виходячи з чату. Аналітика циклу розробки (cycle analytics) відразу врахує цю оцінку і буде показувати вам весь шлях завдання до випуску на production, повідомляючи про можливі вузьких місцях.
Усе це і багато іншого можливо в новій версії GitLab 8.14. У ній з'явився облік робочого часу, додатки для рев'ю (Review Apps), команди чат (chat commands) і нові можливості аналітики циклу розробки.
Читати далі →

GitLab Flow

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


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

Читати далі →

Конвертування репозиторію Git з табуляцій у прогалини

imageЦя стаття про те, що сказано в заголовку.

Я мав звичку працювати на Yelp. З історичних причин — насправді «це воліли початкові розробники» — їх кодова база, здебільшого на Python, завжди містила відступи з табуляціями. Це абсолютно контрастує з більшою частиною величезної екосистеми Python, яка, в основному, використовує рекомендацію гайда за стилем стандартної бібліотеки про чотирьох прогалини. Присутність табуляцій періодично викликало невелику головний біль і бурчання серед Python-розробників, яких зараз безліч, і які звикли до прогалин.

В кінці 2013 я завітав у Yelp з різдвяним подарунком: я конвертував табуляції чотири пробілу в всього первинної кодової базі. Навряд чи хто-небудь ще захоче повторити те ж саме, тому ось як я це зробив. Взагалі-то. Це було два з половиною роки тому, але я вчасно записав велику частину цього досвіду, так що все повинно бути в порядку.

будь Ласка, зауважте: мені плювати, що ви думаєте про табуляциях проти прогалин. інший статті! Я більше не працюю на Yelp, в будь — якому разі, які б не були ваші аргументи, я більше не можу відмінити те, що я зробив.



Читати далі →