Тиаго пригласили рассказать об организации работы над своим блогом. Он также рассказал о разделении организационной и креативной деятельности, философии создания систем и используемых инструментах.

Философия

Тиаго рассказывает про свою систему работы над блогом. Любая система проектируется под решение определенных проблем. Часто мы стараемся придумать лучшее решение. Но у идеальной системы есть цена. Сложная структура требует ресурсов на создание, поддержку и работу с ней. Поэтому структурируй ровно настолько, чтобы можно было эффективно решать свои задачи. Тестируй разные подходы. Проводи эксперименты. Оставляй полезные методы и выбрасывай вредные.

Ты не найдешь системность в приложениях. И ни один ассистент не организует тебя больше, чем…


Шаг первый. Подготовка инструментов.

Разработчики Hugo подробно описали методы установки на популярные ОС в документации. Hugo с помощью Homebrew и Linuxbrew устанавливается командой:

brew install hugo

Также тебе потребуется git. Методы установки описаны в руководстве по Git.

Теперь тебе доступны команды hugo и git.

Шаг второй. Репозиторий на Github.

Самое время зарегистрироваться на GitHub, если ты этого еще не сделал. Затем создай репозиторий. Имя репозитория должно соответствовать шаблону <OWNER>.github.io, где <OWNER>, здесь и далее, - имя твоей учетной записи или организации, которой принадлежит репозиторий. Репозиторий должен быть публичным и пустым. Сними галочку с Initialize this repository with a README, а переключатели Add .gitgnore


В предыдущий раз я решил проблему запуска сборки по тегу в лоб, через стандартные Webhook’и Bibucket’а и Generic Webhook Trigger Plugin для Jenkins’а. Решение работает с неприятными ограничениями. Сегодня я расскажу о решении с использованием Multibranch Pipeline, лишенным ограничений предыдущего варианта.

При написании статьи я использовал следующие версии инструментов:

Новая версия любого из инструментов может привести к неработоспособности описанного метода. Если вы наткнулись на проблемы…


Разработчик фиксирует коммит с тегом. Bitbucket отсылает нотификацию. Jenkins собирает нужный артефакт .

Я вам расскажу о том, как заставить Jenkins автоматически собирать приложение при простановке тега в Bitbucket’е без дополнительных финансовых затрат.

Если вам необходимо решить проблему “сборки по тегу”, то рекомендую прочитать следующую статью. В ней я рассказываю о более простом и эффективном способе.

Мне казалось, что для таких популярных инструментов как Bitbucket и Jenkins все должно работать из коробки, или есть стандартные решения. Из коробки оно не работает, а стандартное решение влючает в себя покупку плагина Webhook to Jenkins for Bitbucket для Bitbucket’а. Другие найденные в интернете решения у меня не заработали. У меня не было времени ждать одобрения бюджета…


Наша компания предоставляет консалтинговые услуги по методологии DevOps. При работе с клиентом мы стараемся встроиться в его процессы. И у одного из клиентов мы подцепили очень простой инструмент для планирования и он оказался настолько хорош, что мы активно его используем и рассказываем про него.

Началось все при старте проекта, когда еще не был определен список задач и конкретики было мало. Но уже надо было двигаться. Мы собрались командой, несколько инженеров с нашей стороны и несколько инженеров со стороны клиента, открыли Google Docs и указали длительность спринта, начиная со дня встречи и до даты следующей встречи. Затем, выписали подряд все проблемы…

Vitaly Khabarov

DevOps Enthusiast

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store