Обновить
64K+

Git *

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

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

Размер имеет значение! Часть 3

Время на прочтение2 мин
Охват и читатели1.6K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В последней части, оптимизируем процесс обнаружения регрессии размера андроид приложения.

Читать далее

GitOps — что это такое и с чем его едят?

Время на прочтение12 мин
Охват и читатели66K

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее

Размер имеет значение! Часть 2

Время на прочтение5 мин
Охват и читатели4K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В данной части, обсудим как можно проверять размер в pull request, что позволит автоматизировать весь процесс обнаружения регрессии, до того как изменения попали в development.

Читать далее

Размер имеет значение! Часть 1

Время на прочтение4 мин
Охват и читатели5.3K

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса. В данной части, обсудим как можно легко проверять размер в development ветке.

Читать далее

Как я выиграл апелляцию против американских санкций

Время на прочтение4 мин
Охват и читатели26K

В прошлое воскресенье 4 сентября я обнаружил, что GitHub-организация DigitalDesignSchool, в которой я являюсь одним из владельцев, забанена Гитхабом с формулировкой "ваш аккаунт может быть предметом американских экономических санкций".

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

Читать далее

Trunk Based Development — кто такой и зачем нужен

Время на прочтение4 мин
Охват и читатели128K

Привет! Меня зовут Павел Лакосников, я тимлид команды бэкенд-инженеров в Авито. Сегодня расскажу про свой любимый подход к разработке Trunk Base Development, сравню его с другими моделями ветвления и подсвечу его достоинства и нюансы.

Краткий обзор трёх моделей ветвления: Central Workflow, Git Flow, Trunk Based Flow, с акцентом на моего фаворита — Trunk Based Flow.

Читать далее

Git — сравнение Visual Studio 2022 с MeGit/EGit и SourceTree

Время на прочтение11 мин
Охват и читатели16K

В этой статье мы сравним функциональность Git в IDE Visual Studio 2022 и в других клиентах Git с GUI. Git внутри VS2022 имеет упрощённый интерфейс по сравнению с некоторыми другими GUI-клиентами наподобие MeGit/EGit и SourceTree. Это привлекает многих разработчиков к платформе VS2022/Git, однако опытным пользователям дополнительно потребуются и другие инструменты.
Читать дальше →

Личный опыт: переезд на собственное хранилище репозиториев в GitLab CE

Время на прочтение6 мин
Охват и читатели26K

На связи Саша Хрущев, технический директор IT-компании WINFOX. Рассказываю, как мы быстренько развернули свое независимое локальное хранилище репозиториев в GitLab CE, сколько времени это заняло и какие особенности вам нужно учитывать при переезде, чтобы все прошло гладко. 

Читать далее

GitLab + K8s + Werf

Время на прочтение5 мин
Охват и читатели17K

Как настроить пайплайн сборки с помощью K8s + Gitlab + Werf за 30 минут и больше не мучаться. Мини-туториал по настройке окружения с примером.

Читать далее

Почему спустя 5 лет код-ревью на Upsource мы перешли на GitLab

Время на прочтение7 мин
Охват и читатели8.7K

Привет! Меня зовут Максим, я руковожу мобильной разработкой в KTS.

Наша команда мобильной разработки использовала Upsource с 2017 года: на тот момент он был одним из самых удобных инструментов для просмотра кода, комментирования и изучения правок. Мы использовали selfhosted-вариант сервиса. 

Однако через некоторое время, по мере роста команды и изменения процессов, мы начали сталкиваться с рядом проблем, которые подтолкнули нас к пересмотру сервиса для код-ревью.

Рассказываю о нашем опыте работы с системами код-ревью, и почему через 5 лет работы на Upsource мы переехали на GitLab.

Читать далее

Паттерны проектирования, реализующие наблюдаемость в микросервисах

Время на прочтение6 мин
Охват и читатели17K

Наблюдаемость (observability) — это супермножество мониторинга. В дополнение к подробному анализу неявных состояний, приводящих к сбоям, это свойство предполагает высокоуровневый обзор работоспособности системы. Кроме того, наблюдаемая система предоставляет подробную информацию о своей внутренней работе, что позволяет обнаруживать более глубокие системные проблемы.

Читать далее

Вышел Git 2.37

Время на прочтение8 мин
Охват и читатели8.1K

27 июня вышел Git 2.37 с новым механизмом очистки файловой системы, её встроенным монитором и другими доработками. Подробности рассказываем к старту курса по Fullstack разработке на Python.

Читать далее

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

Что делать неизвестным в вашем git репозитории

Время на прочтение5 мин
Охват и читатели12K

Всем привет! Предлагаю взглянуть на проблему, связанную с возникновением коммитов от «неизвестных» пользователей в вашем git репозитории. Такое может возникнуть, если один разработчик будет использовать несколько разных git конфигов. Расскажу, какие есть варианты избежать похожую ситуацию.

Читать далее

Представляем glaball для управления множеством GitLab-инстансов

Время на прочтение6 мин
Охват и читатели3.9K

В наиболее популярном случае иметь множество инсталляций GitLab — это антипаттерн. Однако обстоятельства бывают разными: специализация нашего бизнеса привела к тому, что мы администрируем десятки self-hosted GitLab-инстансов обслуживаемых клиентов. Периодически у нас возникает потребность проделать какие-то действия на всех GitLab’ах сразу, чтобы не тратить время на многократное повторение рутинных операций. Все началось с необходимости мониторинга за критическими обновлениями для GitLab. Но аппетиты росли: со временем нам уже хотелось искать по содержимому файлов во всех инсталляциях или даже создавать пользователей.

Расскажем о том, как мы решили эти задачи в рамках внутренней разработки, которую теперь публикуем как Open Source-проект под названием glaball.

Читать далее

Инструкция как писать стандартизированные комментарии к коммитам (git commit)

Время на прочтение3 мин
Охват и читатели45K

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

Читать далее

Автоматизируем выбор ревьюера с помощью GitLab CI и Danger JS

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

Всем здравствуйте! Я расскажу о том, как решал задачу ускорения проверки merge request’ов(MR)  в нашей команде. Почему вообще это понадобилось? Потому что разработчики ленивы экономят силы и обычно не стремятся брать новые MR на проверку, либо выбирают что попроще. Так что я решил сделать бота, который для каждого MR автоматически расставлял бы приоритеты и назначал проверяющего.

Читать далее

Бизнес-конфиги: как мы меняем бизнес-справочники, от которых зависит работоспособность системы

Время на прочтение5 мин
Охват и читатели1.9K

Нередкая ситуация: бизнес хочет быстро вносить изменения в такие справочники, как продуктовый каталог и тарифы. Уровень критичности этих справочников — mission/business critical. Самый быстрый вариант — менять сразу на проде. Но если вносить изменения в такие справочники без тестирования, то в случае ошибки рискуешь получить страховки с комиссией в разы больше или меньше нужной, да ещё полный сбой оформления кредитных заявок.

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

<Погрузиться в изменчивый мир бизнес-справочников/>

Читать далее

Инструменты CI/CD: GitLab CI

Время на прочтение4 мин
Охват и читатели11K

На рынке доступно множество инструментов непрерывной интеграции и непрерывного развёртывания. Эти инструменты играют ведущую роль в координации и автоматизации работы на различных этапах CI/CD-пайплайна.

Мы пообщались с Александром Довнаром, Lead DevOps в Naviteq, и узнали, как безопасность проекта связана с выбором CI/CD-инструмента. Подробно остановились на том, что такое GitLab CI, кому он подходит и почему его стоит использовать. 

Читать далее

Gitlab за решеткой: синхронизация репозиториев за VPN средствами bash

Время на прочтение6 мин
Охват и читатели10K

Закусывая гудроном остатки радиоактивной водки, с интересом наблюдаю за всеобщей истерией. Добралась она и до нас, когда ключевой заказчик решил завернуть свои системы за VPN, в том числе и Gitlab, где мы должны хранить исходники и обновлять их перед релизами. Делать это вручную не хочется, поэтому решил автоматизировать процесс, а заодно написать данную статью, по сути – рабочую инструкцию для коллег, ну и для вас, уважаемые читатели.

В статье рассматривается ситуация, когда необходимо синхронизировать два репозитория, находящихся на изолированных друг от друга серверах Gitlab, и есть машина, с которой есть доступ до обоих серверов. Синхронизация осуществляется скриптом на bash, который проверяет наличие обновлений и производит pull-push при их наличии, а также оповещает о событии в Telegram.

Читать далее