DEV_EASY_NOTES Telegram 435
Я планировал начать с пайплайнов, но решил: давайте сначала разберемся с самой аббревиатурой CI/CD. Фишка в том, что под этими аббревиатурами подразумевают уже не то, что изначально закладывалось. Сейчас при упоминании CI/CD в голове всплывают скорее системы GitLab CI, Actions, Kubernetes или Docker. Однако все эти системы на самом деле лишь вспомогательные инструменты.

Continuous Integration — постоянная интеграция. Возникает вопрос: интеграция чего во что? Мы все работаем с кодом и, вероятнее всего, работаем в какой-то команде. Когда мы делаем какие-то изменения, то должны эти изменения распространить на других участников команды, а также получить изменения от них.

Сейчас для этого повсеместно используется Git. У тебя есть локальная версия кода, изменения в которой ты отправляешь на удаленный сервер. Другими словами, ты "интегрируешь" свои изменения с изменениями других участников.

Понимаете суть? Если у тебя настроен Git и есть практика условно раз в день отправлять свои изменения и получать изменения от остальных членов команды, у тебя уже в некотором смысле есть CI.

Вокруг этой идеи затем строится процесс, чтобы правильно внедрить наши изменения: хорошо бы их сначала проверить — прогнать линтер, прогнать тесты, сделать сборку. Ну и еще перед интеграцией наших изменений, чтобы наша команда эти изменения просмотрела, отсюда мы получаем код-ревью.

Continuous Delivery — постоянное развертывание. Этот принцип уже исходит из следующей проблемы. Вот есть разработка, которая пишет код, создает систему. И есть команда, отвечающая за развертывание. Проблема в коммуникации между этими двумя группами: одна группа жалуется на "тупых админов", вторая — на "криворуких разработчиков".

Помимо этого, софт раньше поставлялся четкими версиями. Вот выпустили вы ПО версии 2, и все, ближайшие пару лет будете на ней сидеть. Ведь чтобы ее обновить, нужно, чтобы все самостоятельно обновились через покупку диска, либо, если мы говорим про серверы, админы накатили новую версию.

Разумеется, если ты сейчас будешь выпускать обновления раз в полгода, твой бизнес отправится по направлению нах*й. Отсюда рождаются два основных принципа:

👉 команда разработки должна участвовать в развертывании;
👉 наша кодовая база должна быть готова к развертыванию в любой момент времени.

Уже из этих принципов мы получаем подходы к работе с Git (православный trunk-based, а не загнивающий Git Flow), Docker, чтобы синхронизировать окружение разработки и развертывания, Kubernetes, чтобы он сам убрал старые инстансы и поднял новые, и все прочее, что относится к DevOps.
👍4310



tgoop.com/dev_easy_notes/435
Create:
Last Update:

Я планировал начать с пайплайнов, но решил: давайте сначала разберемся с самой аббревиатурой CI/CD. Фишка в том, что под этими аббревиатурами подразумевают уже не то, что изначально закладывалось. Сейчас при упоминании CI/CD в голове всплывают скорее системы GitLab CI, Actions, Kubernetes или Docker. Однако все эти системы на самом деле лишь вспомогательные инструменты.

Continuous Integration — постоянная интеграция. Возникает вопрос: интеграция чего во что? Мы все работаем с кодом и, вероятнее всего, работаем в какой-то команде. Когда мы делаем какие-то изменения, то должны эти изменения распространить на других участников команды, а также получить изменения от них.

Сейчас для этого повсеместно используется Git. У тебя есть локальная версия кода, изменения в которой ты отправляешь на удаленный сервер. Другими словами, ты "интегрируешь" свои изменения с изменениями других участников.

Понимаете суть? Если у тебя настроен Git и есть практика условно раз в день отправлять свои изменения и получать изменения от остальных членов команды, у тебя уже в некотором смысле есть CI.

Вокруг этой идеи затем строится процесс, чтобы правильно внедрить наши изменения: хорошо бы их сначала проверить — прогнать линтер, прогнать тесты, сделать сборку. Ну и еще перед интеграцией наших изменений, чтобы наша команда эти изменения просмотрела, отсюда мы получаем код-ревью.

Continuous Delivery — постоянное развертывание. Этот принцип уже исходит из следующей проблемы. Вот есть разработка, которая пишет код, создает систему. И есть команда, отвечающая за развертывание. Проблема в коммуникации между этими двумя группами: одна группа жалуется на "тупых админов", вторая — на "криворуких разработчиков".

Помимо этого, софт раньше поставлялся четкими версиями. Вот выпустили вы ПО версии 2, и все, ближайшие пару лет будете на ней сидеть. Ведь чтобы ее обновить, нужно, чтобы все самостоятельно обновились через покупку диска, либо, если мы говорим про серверы, админы накатили новую версию.

Разумеется, если ты сейчас будешь выпускать обновления раз в полгода, твой бизнес отправится по направлению нах*й. Отсюда рождаются два основных принципа:

👉 команда разработки должна участвовать в развертывании;
👉 наша кодовая база должна быть готова к развертыванию в любой момент времени.

Уже из этих принципов мы получаем подходы к работе с Git (православный trunk-based, а не загнивающий Git Flow), Docker, чтобы синхронизировать окружение разработки и развертывания, Kubernetes, чтобы он сам убрал старые инстансы и поднял новые, и все прочее, что относится к DevOps.

BY Dev Easy Notes


Share with your friend now:
tgoop.com/dev_easy_notes/435

View MORE
Open in Telegram


Telegram News

Date: |

A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”.
from us


Telegram Dev Easy Notes
FROM American