Мы рады представить вам релиз GitLab 14.3 с правилами запуска сканирований безопасности для проектов, следующим поколением SAST для снижения количества ложных срабатываний в Ruby, установкой разрешений для защищённых окружений на уровне группы, групповым доступом к GitLab Kubernetes Agent и многим другим!
![](http://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/hub/c4b/10b/703/c4b10b70333b4c79a9658ff587522d4d.jpg)
Git *
Система управления версиями файлов
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Основы Git
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/121/165/d81/121165d81facdad340414d07deac0edd.jpg)
Git очень удобная система контроля версий, которая сейчас используется практические повсеместно. Она нужна для того, чтобы команды могли кооперироваться в создании программного продукта и совмещать код написанный разными людьми в одном репозитории.
Сегодня мы рассмотрим как работать с файлами в Git, рассмотрим базовые приёмы при работе с ветками, а также научимся пушить наш репозиторий на сервер.
Освоение GitHub на примере Unity проекта. Часть 1
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/0db/83e/2a2/0db83e2a20882c960c3336596a9a65bf.png)
В публикации представлен туториал для начинающих Unity разработчиков, которые хотят научиться использовать GitHub в своих проектах.
Автоматическая генерация лога изменений проекта с помощью GitLab
В этой небольшой статье поговорим о том, что такое лог изменений проекта, зачем он нужен и как можно автоматизировать его генерацию с помощью GitLab.
CI/CD для UnrealEngine в связке с Gitlab
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/bed/502/578/bed502578b9b5f5661a7b3f27ba36a75.png)
Попробовав разные Source Control в связке с UE (Gitlab,SVN,Perforce) на текущий момент, для себя я нашел два лидера:
1) SVN - Очень легко настраивается сервер и подключение к нему, но "Checksum mismatch", выводит из себя до безумства;
2) Gitlab- Для использования на своем сервере, нужно иметь машину с линуксом (у меня mint), некоторое время и терпение на установку сервера и все, мы счастливые обладатели бесплатного сервера гитлаб. Дальше настраиваем подключение через SourceTree и используем;
Еще одной прелестью Gitlab, я бы назвал встроенный инструмент для CI/CD, который весьма легко настраивается и позволяет по одному нажатию кнопки: Билдить свет, паковать игру, заливать ее в стим, отправлять сообщение в дискорд и т.д, всего лишь нужен сервер с установленным UE. О настройке CI под Windows, я и расскажу.
Опыт миграции из Gitea в GitLab. Сложно, но успешно
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/d99/57b/b7c/d9957bb7c2c9623782bf5da50e566385.png)
В мире существует множество различных систем для хранения кода. Различаются они как протоколом работы: Git, Mercurial, Bazaar, — так и форматом работы (cloud, self-hosted). Но есть и другой важный параметр: степень интеграции с сопутствующим инструментарием: issue tracker, CI/CD, wiki и т.д. Так сложилось, что мы в компании предпочитаем GitLab (вариант on-premise) и по умолчанию, если клиент не против, предлагаем ему это решение. В статье я расскажу про миграцию из Gitea c Jenkins в GitLab и о том, с какими сложностями пришлось столкнуться, а заодно поделюсь Python-скриптами, которые пригодились для успеха этого мероприятия.
Git Submodule иногда ломаются, как их починить?
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/0a8/5e0/c21/0a85e0c21dbb8f81c588873c1433f2cc.png)
Наверняка если вы начали читать эту статью, то знаете, что такое git и для чего он нужен. НО не все используют такую интересную функциональность в git как submodules.
Это дает возможность прицепить к вашему проекту другие проекты и переиспользовать их в вашем. Для примера рассмотрим такую историю.
Есть репозиторий, в котором содержится groovy скрипт, который решает задачу по извлечению из системы хранения чувствительных данных Vault.
MATLAB + Git: как управлять изменениями скриптов и моделей Simulink без бардака и боли
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/4f3/43a/c7a/4f343ac7a9b029eb1198fb6eaa61fe92.png)
Мне очень досадно наблюдать, как суровые инженеры, которые программируют микроконтроллеры для самонаводящихся ракет, не могут настроить систему контроля версий, чтобы работать комфортно, эффективно и командно.
Я хочу показать инженерам, как можно без боли контролировать изменения скриптов MATLAB и моделей Simulink, попытаюсь донести матлаберам, не знакомым с системой контроля версий (а таких большинство), что для вас это необходимый инструмент на каждый день.
Вышел релиз GitLab 14.2 с бета-версией Build Cloud для macOS и предварительным просмотром Markdown
Мы рады представить вам новый релиз GitLab 14.2 с бета-версией Build Cloud для macOS, предварительным просмотром Markdown, расширенной интеграцией Gitpod, новыми метриками внедрения DevOps и многим другим!
Автоматическое управление номером версии c помощью Azure DevOps
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/6bf/634/82e/6bf63482e6de7489e57a9a83ed401553.png)
В этой статье я расскажу, как мы организовали последовательное автоматическое увеличение номера версии приложения при выполнении коммита в ветку main с помощью Azure DevOps Pipeline.
Мы делаем этого для того, чтобы все пользователи и разработчики могли видеть, какая именно версия продукта развернута в той или иной среде.
GitOps, облачный вендор-лок и Jenkins-джобы: что будет на Luxoft TechFest #5
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/eeb/559/6cc/eeb5596cc5834f679b3382f261fa304d.jpg)
Как перестать создавать Jenkins-джобы руками? Как избежать зависимости от конкретного облачного провайдера? Как Git может помочь не только в разработке, но и в развертывании приложений? Обо всем этом пойдет речь на Luxoft TechFest #5: бесплатном онлайн-мероприятии с тремя докладами по DevOps. Оно пройдет 9 сентября с 18:00 по 20:40.
Под катом — более подробная информация о докладах, а заодно еще и видеозаписи докладов предыдущего Luxoft TechFest (по теме Java и DevOps).
Как управлять Kubernetes кластерами с помощью Flux, Helm Operator и Git submodules
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/f91/aad/d30/f91aadd3000cb70a405d864bdf56266b.jpg)
Kubernetes используют так или иначе сейчас примерно все, но и задачи решаются совсем разные. Я расскажу про наши требования и разработанные под них решения для управления множеством кластеров. По теме GitOps не так много статей и обсуждений на Хабре, в отличие от англоязычных источников, поэтому будет интересно и услышать мнение тех, кто применял подход на своей практике.
Как мы переезжали на новую версию GitLab и внедряли LFS. А потом чинили бэкапы
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/237/fa4/c61/237fa4c61b411c3b31fa63ba04635c39.png)
Исторически мы использовали GitLab 8, который работал на хосте Mac на VirtualBox. Потом конфигурация перестала устраивать, поэтому в локальной сети завели отдельную полноценную Ubuntu-машину. Заодно и GitLab обновили до версии 11.2.1-ee.
Ставили все по официальному гайду. При установке postfix возникли ошибки из-за цифры в имени хоста (решилось переименованием), в остальном сложностей не было. Зато они появились позже: гит-машине перестало хватать памяти на объекты, мы подключили LFS и решили проблему, но потом сломались бэкапы. В общем, было весело. О том, как все это чинили — рассказал под катом.
Как оформить серию коммитов Git, чтобы её приняли в любой проект
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/7f9/7c0/ede/7f97c0ede1291cf68d8908a19ef77656.png)
Добрый день, коллеги! Доказывать, что нужно использовать систему контроля версий, уже давно не нужно. И Git занял тут лидирующую позицию, стремительно вытеснив SVN. Но это инструмент, а инструментом нужно уметь пользоваться, чтобы добиться лучших результатов. Как топором, один человек сможет просто срубить дерево а другой из этого дерева сможет сделать великолепную скульптуру. Так и с помощью Git, один человек сможет просто не потерять результаты своего труда за день, а другие смогут организовать совместную работу над проектом нескольких сотен человек. Да так, что о любой строчке кода можно будет и через пять лет сказать, откуда она взялась и для чего нужна.
Постараюсь рассказать для начинающих и не очень разработчиков, как оформлять свои коммиты, чтобы их максимально быстро и без претензий принимали в любые проекты, как опенсорсные так и коммерческие.
Вышел релиз GitLab 14.1 с реестром Helm Chart и правилами эскалации
Мы рады представить вам релиз GitLab 14.1 с возможностью собирать, публиковать и распространять Helm-чарты, создавать правила эскалации для ответственных за страницу, подключать обработчики заданий GitLab к вашим кластерам Kubernetes, обеспечивать соблюдение решений по покрытию кода и многим другим!
Настраиваем площадку Битрикс правильно: простые советы для сохранения душевного здоровья тимлида
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/1b4/3c8/b94/1b43c8b94c224562da7024dadc680db4.png)
Настройка любой площадки для CMS — это рутинный процесс, который должен быть доведен до автоматизма в каждой уважающей себя компании. А потому частенько воспринимается, как восход солнца — это происходит само собой. На самом деле, нельзя так относиться и надеяться на разработчиков, особенно если часть команды работает на субподряде. Они могут потратить кучу времени и денег проекта на переносах, багах и конфликтах кода.
Задача тимлида — создать команде среду для разработки и правильные условия для написания кода. Меня зовут Артем Первушин, я технический директор в компании Extyl. Чтобы помочь с этим я решил опубликовать напоминалку, основанную на внутренних регламентах нашей компании.
Зачем мне твой код смотреть?
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/ef0/e31/e38/ef0e31e38076bd61def773ae87cc5272.png)
Ревью кода это довольно обыденный процесс. Хотя и не многие могут объяснить, зачем это нужно команде — ревью будто без вопросов необходимо для мифического "хорошего кода". В целом сообразить пару причин, зачем же делать просматривать код коллег довольно просто, но такие причины далеко не всегда имеют весомое подтверждение. И далеко не всегда ревью достигает предполагаемых целей из-за недостаточного качества ревью и вовлечения команды.
Я расскажу про причину зачем вам лично может быть полезно ревью кода сокомандников.
Там царь Кащей над златом чахнет, или как сохранить все старые репозитории в один включая историю git
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/16d/446/2ce/16d4462ce4fc482b6f22291c35e33d2d.png)
Когда-то пару лет назад на работе ко мне обратился коллега (привет!), который знает мою любовь к автоматизации с довольно нетривиальной просьбой. Нужно было почистить старые репозитории в корпоративной орге Github, но не совсем удалить, а сохранить на "всякий случай". Да и не просто сохранить, а сохранить с git историей. Мы с ним довольно быстро набросали скрипт на баше, который принимал аргументом orgName/projectName. После окончания работы скрипта он пушил код в отдельную ветку, и потом можно было это померджить в основную "ветку-хранилище". Скрипт был написан быстро, задачу решал, но все равно оставалось пара действий, которые надо было сделать "руками". Но в том случае это было нормально, так как требовалось подтверждение на архивирование старого проекта. Еще тогда у меня появилась идея сделать Github Actions workflow, с которым я только познакомился. Но свободного времени на это не было. И вот спустя год-полтора я наконец-то сделал задуманное - так появился на свет Bygone project, который доступен на github.
Организация распределённого хранения файлов с помощью git-annex
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/webt/4k/jk/qe/4kjkqeaubob5wg0eqhncankiroq.jpeg)
Разберем способ удобного хранения 35 000 файлов домашней коллекции, которая используется на 3 ПК и 2 телефонах. При этом сразу все данные на некоторых устройствах не нужны.
GitFlic. Российский GitHub. Рассмотрение сервиса и его нюансы
![](https://webcf.waybackmachine.org/web/20211019225528im_/https://habrastorage.org/getpro/habr/upload_files/dfc/1d1/fda/dfc1d1fda75a93df3a112c8d931acf4c.png)
В этой статье мы рассмотрим новый российский сервис от компании ООО "Ресолют" под названием GitFlic, где попробуем найти хорошие моменты, а также выльем весь шквал критики на разработчиков этого чуда...