Gitlab webbhooks + Redmine

Задача — при создании мерж реквеста(pull request) в Gitlab обновлять задачу в Redmine. Например, обновить описание задачи, добавив ссылку на мерж реквест, или отредактировать любое другое поле. Стандартная интеграция из под коробки Gitlab не позволяла это сделать. Было решено делать это через веб хуки. Алгоритм работы: после каждого открытия мерж реквеста отправляется событие на кастомный endpoint. Будет отправляться имя ветки из MR, projectCode-issueId-task-description, откуда будет парситься ID задачи Redmine. Пример имени ветки wh-123456-add-webhooks, где 123456 — это ID задачи.

Список прочитанных книг за осень

Заметка о том, что удалось прочитать за квартал, за эту осень. За три месяца было прочитано четыре книги «Предметно-ориентированное проектирование (DDD)» Эрика Эванса, «Использование Docker» Моуэт Эдриен и «Проект Феникс. Роман о том как DevOps меняет жизнь» авторов Ким Джин, Спаффорд Джордж, Бер Кевин, также книга Mastering Gitlab 12 Packt Publishing Общие впечатления о книгах.

Docker Network

Задача — соединить два контейнера в одну сеть. Допустим это будет веб сервер nginx and php-fpm. Естественно они должны обмениваться сообщениями без проблем, ip адреса должна быть из одной подсети. Также должны находить друг друга не просто по ip адресу, но и по имени сервиса. Намного удобнее работать с именем php-service, вместо 172.21.0.2, который еще может измениться при повторном запуске. Для начала немного теории. При установке Docker-а автоматически создается три сети под название none, host, bridge. Список можно посмотреть через команду docker network ls none — у контейнера нет сети, он изолирован, ему сломали ethernet port, host — использовать сеть хоста. Чтобы присоединиться к ним, придется вручную прописать имя сети …

Зачем это нужно? При работе с долгоживущими контейнерами приходится запускать внутри контейнера какие то команды. Это могут быть запуск тестов, подключение к БД, сброс кеша или еще какие нибудь шаблонные команды. Все эти команды записываются в историю терминала, то есть в .bash_history. В следующий раз не нужно вводить команды полностью, можно подтянуть их из историй CTRL+R. Но после перезапуска контейнера вся эта история перезатирается. Чтобы упростить себе жизнь, сохраним эту историю.

install gitlab on windows 10

Как установить Gitlab в Windows? Первая же ссылка в поисковике дала ответ: Самый легкий способ установить Gitlab в Windows-е — это установить виртуальную машину Linux и уже там установить Gitlab. Пост был опубликован на официальном форуме Гитлаба. Автор кажется не шутить? Хм… А есть ли все таки способ?

Mmock мокирование http запросов- preview

У любого разработчика или даже программы возникает потребность в интеграции с другой программой или микросервисом. Возьмем как частность интеграцию через REST интерфейс. Хорошо если у поставщика есть тестовый API для периода разработки и/или ручного тестирования. А вдруг его нет, или еще не готов, или нужно написать автотесты для адаптера. Что ж в этом случае нам поможет MMock сервер

Желание добавить простой мета тег description привели к установке плагина. Сначала думал, как «ярый» программист, генерировать мета тег через какое нибудь событие в WordPress-e или добавить функцию генератор в шапку сайта. Но решил воспользоваться уже готовыми решениями.

В рамках разработки и тестирования нужно иногда очистить свою систему от лишнего мусора. Например, удалить все контейнеры и образы в Docker.