Как стать автором
Поиск
Написать публикацию
Обновить
22.25

Git *

Система управления версиями файлов

Сначала показывать
Порог рейтинга
Уровень сложности

Вышел релиз GitLab 17.10 с новыми фичами Duo Code Review и Root Cause Analysis

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.5K
Читать дальше →

20 лет Git, странному и прекрасному

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6K
Двадцать лет назад, 7 апреля 2005 года, Линус Торвальдс создал самый первый коммит в «информационном менеджере из ада» Git.


За эти двадцать лет Git превратился из простого маленького личного проекта в самую масштабную и популярную систему управления версиями.

Лично для меня это было захватывающее приключение в мире ПО, со своими взлётами и падениями.

Я начал пользоваться Git лишь спустя всего несколько месяцев после первого коммита, и применение его было достаточно необычным. А затем я стал сооснователем GitHub, написал самую, наверно, популярную книгу про Git, создал официальный веб-сайт проекта, организовал ежегодную конференцию разработчиков и так далее — этот проект изменил мир разработки ПО, но лично для меня он стал огромным изменением в судьбе.

Я подумал, что сегодня, когда проект Git входит в свой третий десяток лет, было бы интересно вспомнить самые первые дни Git и немного рассказать о том, почему этот проект кажется мне бесконечно восхитительным.
Читать дальше →

Когда CI заботится не только о коде, но и о пользователях. App.Farm CI. Часть V

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров544

Привет, Хабр! На связи команда разработки App.Farm в РСХБ-Интех.
App.Farm — платформа по типу PaaS для стандартизации процесса разработки бизнес-приложений: от хранения исходного кода до запуска сервисов. App.Farm CI — подсистема обеспечивающая хранение кода, артефактов, автоматизацию сборки. В этой статье хотели бы представить вам одну из подсистем нашего продукта — PaaS App.Farm, и это будет финальная часть цикла статей об App.Farm CI. Наш материал посвящён работе с пользователями App.Farm CI — какие темы затронем в этой части:

Сопровождение как задумывали
Сопровождение как получилось
Процесс Feature Requests
Публикация Changelog
Итоги и планы

Читать далее

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров3.1K

Flutter & GitLab CI/CD. Подготовка и настройка физической машины

В мире мобильной разработки, где скорость и стабильность доставки приложений определяют успех, выбор инструментов для автоматизации становится особенно важным. Работая мобильным разработчиком в TAGES более пяти лет, я убедился, что использование self‑hosted решений дает значительные преимущества в гибкости, надежности и контроле над процессами. Одним из таких мощных инструментов является GitLab — платформа, которая позволяет не только управлять кодом, но и настраивать полноценные CI/CD‑процессы.

Эта статья станет первым шагом на пути к полной автоматизации сборки и доставки Flutter‑приложений. Мы разберем, как превратить вашу физическую машину в надежный инструмент для автоматизации. В конце статьи у вас будет готовая машина, которая сможет запускать и обрабатывать задачи из GitLab.

Читать далее

Platformless: как Choreo создала защищенную Kubernetes-платформу с GitOps

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.7K

Когда Kubernetes становится не источником гибкости, а источником боли, на сцену выходят внутренние платформы разработки — IDP.

В этой статье рассказано, как команда Choreo построила безопасную, масштабируемую и открытую платформу на основе Kubernetes и GitOps, используя более 20 инструментов из экосистемы CNCF. Вы узнаете, что такое «бесплатформенность» на практике, какие проблемы решает Choreo, как устроена её архитектура, и почему это не просто еще один SaaS, а попытка переосмыслить работу с инфраструктурой — с упором на безопасность, контроль и удобство.

Читать далее

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть 2. Запускаем CI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

Список необходимых инструментов.

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

И на этом сервере, мы можем выполнять любой набор команд для автоматизации.🫡

Но самый важный момент на этом этапе – какие настройки должны быть на этом сервере? Какие программы, пакеты или библиотеки, должны быть установлены? В конце концов, какую операционную систему использовать? ⚠️

Мы уже определили набор команд, которые хотим запускать. Давайте разберемся, что нам нужно для их успешного выполнения? Это будет вторым важным и сложным на первых порах моментом, который следует разобрать.

Проще всего, на мой взгляд, относится следующим образом. Что должно быть у нас в наличии, для запуска команд

eslint . –fix

npm run build

Если попробовать перечислить, то получится следующий список

Читать далее

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть1. Введение

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров38K

Всем привет. Наверняка каждый, кто так или иначе связан с IT сферой, слышал модную аббревиатуру CI/CD. Везде мы слышим про необходимость ее использования, преимущества автоматизации процессов и т.д.

В вакансиях все чаще требуется опыт работы с одним из инструментов в этой инфраструктуре – Jenkins, Travis, AWS, Gitlab CI/CD.

⚠️Я предлагаю вам посмотреть на этот процесс, глазами простого разработчика. Чем ему может помочь автоматизация. Что в конечно итоге скрывается под этой аббревиатурой, и как уже начать получать дивиденды в своей ежедневной рабочей практике.

Первые шаги

Мы рассмотрим внедрение инструментов автоматизации в приложение, построенное на базе React. В целом разберем именно основные подходы и моменты, на которые стоит обратить внимание в самом начале.

В целом, это будет актуально для любого стека.
Чаще всего я использую для хранения кодовой базы и групповой работе над проектами Gitlab. Очень кстати, что эта площадка предоставляет инструментарий CI/CD.

Я пытался пару лет подступиться к этому вопросу. Стильно, модно, молодежно. Да, дает кучу преимуществ. Но все попытки переварить официальную документацию, заканчивались неудачей. А видео уроки или материалы в общем доступе – чаще всего давали рецепт автоматизации какого-то конкретного кейса, который либо частично, либо полностью отличался от моего приложения.

Мне не хватало именно взгляда на основные шаги – что, зачем и как мы делаем. А уже потом реализации практических задач.

CI – continuous integration

Что же скрывается за термином "непрерывной интеграция". Когда мы работаем над созданием программного продукта – в одиночку, или в рамках команды, мы стараемся добавить в наш проект, несколько строк кода. Новый функционал, исправление или доработки. Суть не особо важна. В конечно счете – либо появляется новый код, либо появляются изменения в старом. И нам нужно убедиться, что эти новые изменения, не содержат ошибок, которые могут вызвать проблемы или неработоспособность приложения. ⛔️

Читать далее

Как я написал удобного Telegram-бота для взаимодействия со школьным дневником

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.5K

Когда я начал свой путь в парсинге, мне в голову сразу пришла идея написать клиент для удобного взаимодейстия со школьным дневником. В последствии я решил оформить его в виде Telegram-бота.

...

Читать далее

Автоматизация тестирования, которая не ломается при первом редизайне

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров6.9K

Автоматизация тестирования, которая не ломается при первом редизайне

Как мы проектировали, внедряли и поддерживаем живую систему автотестов

Читать далее

Автоматизируем создание cloud native образов: пошаговая инструкция

Время на прочтение4 мин
Количество просмотров1.3K

Всем привет! С вами снова Иван Протченко — инженер из команды Cloud.ru. Как вы знаете, cloud native образы помогают обеспечить предсказуемость, масштабируемость и отзывчивость приложений в облаке. В этой статье я по шагам покажу процесс подготовки таких образов с помощью Packer и QEMU в сочетании с мощным CI/CD-решением — GitLab CI.

Почему именно эти инструменты? Packer от HashiCorp поможет автоматизировать процесс создания конфигурируемых и воспроизводимых образов, QEMU обеспечит гибкость и производительность за счет эмуляции и виртуализации, а интеграция с GitLab CI позволит настроить надежный и повторяющийся пайплайн, который в разы упростит процесс сборки образов. Welcome!

Читать дальше

Architecture as Git: эффективное управление ArchiMate моделями через систему контроля версий

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.4K

Привет, Хабр! Меня зовут Максим Рогоза, и последние 7 лет я работаю корпоративным архитектором в крупнейших компаниях России. В настоящее время я занимаюсь стратегическим IT‑консалтингом в компании Аксеникс, где помогаю крупным организациям выстраивать эффективную IT‑архитектуру.

Недавно я рассказывал вам о подходе Architecture as Code с использованием PlantUML. Сегодня хочу поделиться опытом хранения моделей ArchiMate в системе контроля версий Git и автоматизации рабочих процессов для совместной работы над архитектурой предприятия.

Читать далее

Твой худший коммит в git

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров33K

Хабр, привет! Меня зовут Барилко Виталий, я разработчик / директор / главный идеолог программы Управление IT-отделом 8 и работаю в компании Софтонит. Мы разрабатываем ПО для автоматизации ИТ-отделов. Сегодня хочу поговорить про conventional commits и про свой личный опыт работы с коммитами. На самом деле это бездонная тема, о которую сломано много копий. Кто-то пишет и делает коммиты так, кто-то эдак. В посте попробую поразмышлять о том, как делать не надо и о придуманных на этот счет правилах и договоренностях.

Начинающие (а иногда этим грешат и опытные) разработчики, не до конца понимают принципы создания и работы над коммитами в git. Тут имеется ввиду не механика и команды типа “git commit …”, а общие и глобальные вещи. Например:

1. А когда делать коммиты?
2. Что в них писать?
3. Есть ли какие-то общие правила для их создания?
4. Как не надо коммитить?

Если ты начинающий разработчик, то эта статья точно тебе пригодится. А если у тебя огромный опыт и ты думаешь, что тебя уже ничем не удивить, то… Не будем торопиться… Давай проверим?

Читать далее

Ansible-pull и GitLab CI/CD: когда лучше тянуть, чем толкать

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров8.8K

Ansible — мощный инструмент автоматизации, но его push-модель не всегда удобна. Когда требуется централизованный контроль большого числа серверов, могут возникнуть проблемы:

📌 Нестабильные сети → клиент может быть недоступен во время обновления.

📌 Сложности с NAT → серверы находятся в закрытых "серых" сетях.

📌 Перемещаемые устройства → подключаются к сети только время от времени.

Разбираемся, как ansible-pull решает эти проблемы на стенде, а также настраиваем CI/CD для тестирования и совместной разработки Ansible-ролей

Читать далее

Ближайшие события

Git для самых маленьких. От первой команды до настройки SSH

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров34K

Жизнь каждого человека начинается со слова "мама".

Дорогой читатель, твой путь начнется со слова "git".

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

Читать далее

Вышел GitLab 17.9 с GitLab Duo Self-Hosted в общем доступе

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.6K
Читать дальше →

Как развернуть свой GitLab с CI/CD, используя IaC

Время на прочтение11 мин
Количество просмотров11K

Всем привет! Меня зовут Александр, я обучаюсь в магистратуре СПбПУ. А заодно являюсь младшим разработчиком на C++ и стараюсь использовать и внедрять практики DevOps в мою ежедневную разработку. Недавно я получил зачет за то, что развернул собственный GitLab (именно GitLab, а не аналог) на серверах Selectel с CI/CD и Container Registry. Собственно, об этом и расскажу и в статье.
Читать дальше →

Переезд с TeamCity на GitLab CI + K8s

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.8K

Привет, Хабр! Меня зовут Даниил Мильков, я старший C# разработчик. Сразу хочу предупредить читателей, что про взаимодействие с k8s здесь сказано достаточно мало, разве что в разделе Kubernetes и PVC. На эту тему будет отдельная статья.

Начнём. Однажды наша команда решила перейти с TeamCity на GitLab CI…

Читать далее

DevOps нет, но вы держитесь: как разработчики запустили тесты на этапе MR

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.1K

Со старта нашего проекта Polymatica EPM (бизнес‑платформа для автоматизации процессов стратегического планирования и бюджетирования) мы решили: код должен покрываться тестами. Проект построен на стеке FastAPI + Poetry + Pytest. Из‑за особенностей проекта тесты, в основном, функциональные. Все шло хорошо, команда росла, тесты писались, но запускались только на локальной машине перед коммитами. Наступил момент, когда нужно было внедрить автоматический прогон тестов на этапе Merge Request (MR).
На тот момент у нас был собственный GitLab и настроенный CI/CD, но ресурсы DevOps были ограничены. Поэтому задачу пришлось решать силами разработчиков. Меня зовут Дмитрий Богданов, я старший бэкенд‑разработчик, и в этой статье расскажу, как мы оптимизировали запуск тестов, с какими проблемами столкнулись и почему выбрали именно базовый образ для CI/CD.

Читать далее

Я мучился с Git, поэтому создал про него игру

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров28K

Прошло два года...


… с тех пор, как я разработал и выпустил Git-Sim — бесплатный опенсорсный инструмент для визуализации команд Git непосредственно в репозиториях пользователя.

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

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

Как конфигурировать Git

Время на прочтение13 мин
Количество просмотров15K

Какие настройки git config сейчас следует устанавливать по умолчанию? Ниже рассмотрены избранные настройки, менять которые не стесняются даже разработчики самого Git.

Несколько недель назад я написал о настройке Git help.autocorrect и поведал странную историю о том, как её значение стали задавать в децисекундах.  

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

В этом посте я разберу некоторые (пожалуй, малопонятные) настройки Git, которые сам активировал во всех моих проектах. Я подробно расскажу о них, поясню, как они действуют, и почему их, пожалуй, стоит выставить по умолчанию.

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

Читать далее

Вклад авторов