Все потоки
Поиск
Написать публикацию
Обновить
57.18

Git *

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

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

Настройка конвейерной сборки Java-проектов в GitLab

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

Автоматическая доставка проектных артефактов в тестовые и продуктивные среды является безусловной необходимостью современных процессов промышленной разработки ПО. 

Мы пройдем полный процесс создания пайплайна для сборки и деплоя при помощи GitLab и сопутствующего ПО. Все операции мы проделаем на одном компьютере, хотя ничто не должно вам помешать сразу или в дальнейшем масштабировать полученное решение на один или несколько серверов. Для экспериментов лучше иметь достаточно современный компьютер с количеством оперативной памяти не менее 16 гигабайт, производительным процессором и хорошим интернет-каналом. 

Предполагается, что у вас уже установлены Docker и ssh-сервер и вы немного умеете со всем этим обращаться. 

Читать далее

Покрываем плэйбуками ansible IaC в части предоставления доступа

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

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

Читать далее

Реализация Multiple sources Argo CD + ChartMuseum для 10 однотипных микросервисов

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

Приветствую! Меня зовут Ксения, и я — DevOps инженер компании Smartex. 

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

Если ваша повседневная рутина связана с множеством однотипных микросервисов и разнообразными средами, данная информация может быть для вас полезна. Материал рассчитан на Junior+ и Middle DevOps специалистов.

Читать далее

Двадцать лет — ничто

Время на прочтение7 мин
Количество просмотров21K
В прошлом выпуске журнала мы утверждали, что английский язык стал в индустрии настолько вездесущим, что мы больше задаемся вопросом, почему используем именно его. То же самое можно сказать и о Git. Сложно представить себе, что каких-то двадцать лет назад ландшафт систем управления исходным кодом был разнообразнее и выбрать из этих систем какую-то одну было гораздо сложнее. Собственно, Git тогда еще и среди вариантов не значился. Прежде чем рассуждать, к лучшему или к худшему установилась гегемония Git, давайте ненадолго вернемся в прошлое.



Источник

В одном из самых знаменитых танго в истории Карлос Гардель пропел хорошо известные строки:

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

Двадцать лет назад


Второе издание Совершенного кода Стива Макконнелла было опубликовано в 2004 году. На 668 странице этого девятисотстраничного талмуда мы находим единственное упоминание темы управления исходным кодом на всю книгу, длиной примерно в три четверти страницы. Больше ничего. ChatGPT без труда обобщил бы сказанное в этих абзацах в одном предложении: «Применение ПО для контроля версий – это хорошо, оно дает несколько существенных преимуществ». Не бог весть какие новости. От GitOps нас тогда отделяло очень многое.
Читать дальше →

Вышел релиз GitLab 16.10 с семантическим версионированием каталога CI/CD

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

Что такое semantic-release и как с ним работать

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

Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект. 

Читать далее

Как настроить тестирование с Vanessa Automation и Gitlab с нуля

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

Боитесь, что тесты пропадут, если компьютер сломается? Хотите видеть историю изменений? Вынуждены запускать тесты в отпуске, т.к. у других членов команды нет к ним доступа? Не можете одновременно работать над написанием и прогоном? Знакомы эти проблемы, хотите избавиться от них раз и навсегда? Тогда вам необходимо использовать Vanessa Automation вместе с Gitlab. И я готов показать этот процесс на максимально простом примере. Меня зовут Дмитрий, я занимаюсь тестированием 1С Зуп в команде HR Tech Самолет. В сфере 1С я уже 7 лет, работал консультантом, аналитиком и программистом. А в тестирование я перешел, чтобы уберечь галактику от ошибок ПО. Поехали!

Читать далее

Технологии групповой разработки в современной 1С-индустрии

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

Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в этой статье я рассмотрю и сравню три самых популярных подхода к групповой разработке: хранилище конфигураций, конфигуратор + Git, EDT + Git.

Читать далее

Как в git работает HEAD

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

Недавно я провела в Mastodon опрос о том, насколько мои читатели уверены в том, что они хорошо понимают работу HEAD в Git. Результаты (на основании примерно 1700 голосов) меня немного удивили:

10% — 100%

36% — достаточно сильно уверен

39% — уверен в некоторой степени

15% — представления не имею

Меня удивило, что люди не уверены в своём понимании: я-то считала, что HEAD — это довольно простая тема.

Обычно, когда остальные, в отличие от меня, считают какую-то тему запутанной, причина заключается в какой-то скрытой сложности, которую я не учитываю. И в дальнейших обсуждениях выяснилось, что HEAD действительно чуть сложнее, чем я считала!

Читать далее

Современные команды и фичи Git, которыми стоит пользоваться

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

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

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

Читать далее

Настройка CI/CD для самых маленьких разработчиков

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

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее

Автодокументация Doxygen и её развертывание на GitHub Pages

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

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

Документация будет создаваться на основе исходного кода, она будет обновляться при каждом коммите и при этом будет доступна через интернет. Документирование происходит через Doxygen, в качестве хостинга выступает GitHub, а за обновление документации отвечает GitHub Pages.

Читать далее

Почему Facebook* не использует Git

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

Я работаю над созданием Graphite, источником вдохновения для которого стал внутренний инструментарий Facebook. Когда я решил создать стартап с друзьями, то никогда раньше не слышал о Mercurial, хотя всегда страстно любил инструменты разработчика. Мой предыдущий опыт разработки включал в себя личные проекты, домашнюю работу в колледже, разработку для iOS в Google и развитие инфраструктуры в Airbnb. На протяжении всей моей карьеры использование git было таким же естественным, как воздух. Он настолько популярен, что лично я считал его единственным подходящим инструментом для создания изменений в коде и управления ими.

Забавно, что специалист по Mercurial Грегори Gregory Szorc работал рядом со мной в Airbnb, хотя я знал его только как приятного коллегу, но не представлял, что он контрибьютор.

В 2021 году мои коллеги по команде Томас и Ник раскрыли мне глаза. Они пришли из Facebook и, к моему удивлению, едва знали Git. Зато они имели глубокое понимание паттернов Mercurial и рабочего процесса Facebook на основе «многослойных diff» (stacked diff). Со временем они убедили меня в полезности этого паттерна и мы развернули направление развития компании, чтобы реализовать многослойные diff для разработчиков GitHub.

Но пост посвящён не нашему стартапу. Он о важном вопросе, не дававшем мне покоя последние три года. Почему фейсбукеры не пользуются Git? Зачем они выбрали Mercurial и создали на его основе собственные рабочие процессы? Я знаю что Google не пользуется Git, но это логично, культура разработки Google возникла на пять лет раньше Git. Facebook же был основан примерно в то же время, что и создан Git, около 2004 года, и ко времени, когда Facebook начал серьёзно выбирать инструментарий для управления исходниками, Git был старше и популярнее Mercurial. Так почему же Facebook не использует Git?

Читать далее

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

Вышел релиз GitLab 16.9 с расширенным доступом к бета-версии Duo Chat

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

GitLab 16.9


Мы с радостью объявляем о релизе GitLab 16.9 с GitLab Duo Chat, доступном для Premium пользователей SaaS и в инстансах с самостоятельным управлением! Также появилась возможность запрашивать изменения в мерж-реквесте без блокировки мержа, улучшенный интерфейс страницы переменных CI/CD, новые настройки для автоматической отмены конвейеров и многие другие фичи!

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

Раскладываем Git по полочкам: терминология

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

Первый раз столкнулись с Git и не понимаете, что это такое?

Устали бездумно выполнять серию комманд чтобы закинуть свой проект на GitHub?

Хотите понять, чем отличается merge, rebase, push и pull?

Надоело видеть ошибку о non fast-forward merge и не понимать, что с этим делать?

Сейчас попробуем разобраться в этом всем.

Поехали!

Git в условиях экстремальной атомарности веток

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

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

Читать далее

Популярные конфигурационные опции для работы с git

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

Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:

o    «В принципе, никто этим не пользуется»

o    «Этой опцией пользуется 80% аудитории, стоит ознакомиться»

o    «У этой опции предусмотрено 6 возможных значений, но в реальной практике применяется всего 2 из них».

Так что я решила спросить пользователей Mastodon, какие у них любимые опции конфигурации git:

А какие опции git config вы больше всего любите выставлять? В настоящее время у меня в ~/.gitconfig установлены только git config push.autosetupremote true и git config init.defaultBranch main, вот интересуюсь, а что выставляют другие люди.

Как обычно, получила КУЧУ отличных откликов и так узнала множество очень популярных опций конфигурации git, о которых ранее никогда не слышала.

Далее перечислю их по порядку, при этом (очень примерно) попытаюсь начать с наиболее популярных.

Все описанные опции документированы на странице man git-config, а также на этой странице.

Читать далее

Итак, вы думаете, что знаете Git? Часть третья: реально большие репозитории

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


Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.

Вам хочется использовать ванильный Git, чтобы управлять репозиторием с объёмом 300 ГБ в 3,5 млн файлов, которые без проблем получают пуш каждые 20 секунд от 4000 разработчиков? Тогда читайте дальше!


Вот агенда блога — наша блогенда:


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

10 полезных команд Git

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


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

Сборка в Gitlab как маркер здоровья архитектуры

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

Не так давно мне довелось настраивать СI/CD для среднего по размеру проекта, состоящего из +-20 микросервисов и 5 переиспользуемых библиотек. Изначально все микросервисы и библиотеки жили в собственных репозиториях и я настроил CI/CD индивидуально для каждой репы, вынеся общие скрипты и настройки в отдельный проект. Так мы пожили какое-то время, после чего пришла идея объединить все в монорепу, для удобства сопровождения и большей прозрачности при разработке.

Читать далее

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