Обновить
15.16

Git *

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

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

OpenStack на автопилоте: GitOps-подход к созданию виртуальных машин

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

Привет! Меня зовут Кирилл, я инженер по разработке инфраструктуры в компании YADRO. Представьте: вы разработчик программного обеспечения в крупной компании и вам потребовалось создать новую виртуальную машину. Как это сделать? Пожалуй, многие ответят, что можно запросить ее через отдельную задачу на ответственную команду DevOps-инженеров, потом подождать, пока за нее возьмутся и вручную создадут ВМ с помощью OpenStack.

Звучит просто, но это только часть пути. От глаз разработчика скрыты шаги по добавлению ВМ в inventory, определению нужных конфигурационных параметров, прогону ansible-ролей и сопутствующей настройке. Иногда и на этом процесс не заканчивается, ведь люди привыкли пользоваться доменными именами, а не ip-адресами. Вручную этот процесс занимает много времени и не лишен влияния человеческого фактора, поэтому возникает необходимости в автоматизации.

Для работы с OpenStack удобно использовать Terraform. Хотя компания Hashicorp прекратила свою деятельность на территории России, нам все еще доступен open source-форк под говорящим названием OpenTofu. К сожалению, достаточно подробной инструкции по работе с ВМ через OpenTofu на просторах интернета найти не удалось, поэтому я и решил создать ее сам, сделав акцент на широте возможностей инструмента.

Читать далее

Как исправлять ошибки в Git, не оставляя улик

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

Как же иногда хочется закинуть коммиты «Remove debug log», «fix» или «fix fix fix». Такие коммиты как грязные носки под кроватью: их не видно, пока не придёт ревьюер с пристальным взглядом или, что еще хуже, потенциальный работодатель, решивший посмотреть на ваш профиль github.

К счастью, Git предлагает два супер-инструмента для того, чтобы история коммитов выглядела так, будто ты всегда знаешь, что делаешь: git commit --fixup и git rebase --autosquash. И сегодня мы разберем на практике как это применять.

Читать далее

Вышел GitLab 17.8 с улучшенной безопасностью репозиториев реестра контейнеров

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

Как мы внедряли отказоустойчивый GitLab Cluster с использованием Ansible и бесшовными обновлениями

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

В процессе роста нашей инфраструктуры мы столкнулись с тем, что Single Node (all-in-one) инсталляции GitLab стало недостаточно. Производительность начала снижаться, а любое обновление или сбой сервиса приводило к простою всей разработки. Поэтому мы приняли решение перейти на отказоустойчивый GitLab Cluster с возможностью бесшовных обновлений (zero downtime upgrade).

Для автоматизированного развёртывания и управления кластером мы выбрали Ansible.

Читать далее

Раздел OSINT (разведка): Что такое Github Dorking?

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

Здесь вы узнаете, как повысить свой уровень в OSINT, будут приведены примеры и готовые поисковые запросы.

(Вы можете дополнить меня, если я что-то забыл в комментариях).

Читать далее

Мастер-класс по точечному переносу изменений между ветками в git

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

Представьте ситуацию: вы нашли критический баг в проекте, исправили его в feature-ветке, но до полного слияния ещё далеко. Или вам срочно нужно перенести одно конкретное изменение из текущей ветки в другую. В таких случаях git cherry-pick становится вашим секретным оружием.

Читать далее

Телефонный виджет для переписок и система заметок на базе гита (gitea)

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

Когда возникла необходимость в VPN я решил арендовать под это дело отдельный VPS сервер. Мощности были взяты с небольшим запасом для разных экспериментов и личных мини проектов. Обычно для небольших веб приложений я использовал github pages, но у него есть очевидные минусы: некоторые вещи не хочется светить в паблике, иногда нужен полноценный сервер, а не простая статичная html страница. Для сервера были попытки использовать яндекс облако (есть  бесплатные лимиты), но разбираться с инфраструктурой лямбд, апи гэтвэев, s3 хранилищ и прочим оказалось довольно накладно, особенно когда что то надо поправить раз в месяц, а то и раз в год. 

Читать далее

Как ArgoCD секреты из Vault не расшифровывал, или при чем тут App of Apps

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

Привет, Хабр! Меня зовут Антон, я DevOps-инженер в YADRO, работаю с платформой машинного обучения. Недавно столкнулся с интересным случаем, над которым мне пришлось поломать голову. Одной из задач нашей команды стало развертывание helm-чарта для Airflow с использованием ArgoCD. Это потребовалось для реализации DAG-пайплайнов, необходимых для обработки данных и автоматизации процессов в проектах машинного обучения.

В статье расскажу о сложностях при расшифровке секретов с использованием плагина ArgoCD Vault, о паттерне App of Apps для обхода этих сложностей и небольшом погружении в детали установки плагина в кластер, из-за которых возможно неочевидное поведение ArgoCD Applications.

Читать далее

Git Stash: заначка в репозитории

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

Преимущества использования системы контроля версий Git трудно переоценить. Данная система позволяет нескольким разработчикам одновременно работать над одним проектом, разделять проект на отдельные ветви и затем снова объединять код в одну ветку.

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

Читать далее

Из 2024 в 2025: вспоминаем лучшие практики CI/CD

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

Развитие методологий CI и CD не стоит на месте. Тем не менее, проверенные практики, вероятно, останутся актуальными и в 2025 году. В этой статье покажем некоторые из таких в действии.

Вспомнить лучшие практики CI/CD

Корпус для домашнего NAS сервера. Как это было…

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

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

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

В данной статье будут описаны разработка и сборка корпуса, надеюсь будет интересно!

Читать далее

Вышел релиз GitLab 17.7 с новой пользовательской ролью Planner

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

Сборка RPM-пакетов в ALT Linux: автоматизация с помощью GEAR

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

В первой части материала мы разобрали случай сборки простого rpm-пакета в ALT Linux. За пример брали набор файлов изображений и собирали стандартной утилитой rpmbuild.

В этом материале поговорим про сборку python-проекта специальным инструментом — GEAR. Этот инструмент разработала команда сообщества Альт для автоматизации процесса сборки.

Общими словами, GEAR — это удобная обвязка вокруг Git и rpmbuild. Достаточно в дополнение к spec-инструкции написать GEAR-правила формирования архива, полученного из git-репозитория.

Материал статьи может быть полезен при изучении темы сборки rpm-пакета инструментом gear-rpm в ОС «Альт».

Собрать пакет

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

Как улучшить свои навыки работы с Git с помощью GitHub CLI

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

Использование Git в командной строке (CLI) может повысить вашу скорость разработки и эффективность. В этой статье рассмотрим восемь полезных команд для работы с GitHub через терминал.

Читать далее

Conventional Commits без лишних слов: ваша шпаргалка

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

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

Если интересно, листайте ниже и пользуйтесь!👀

Читать далее

Автоматическая сборка snap пакетов в CI/CD

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

Автоматическая сборка snap-пакетов с помощью GitLab CI/CD и Docker

Статья посвящена автоматизации сборки snap-пакетов с использованием GitLab CI/CD и Docker. Рассматриваются шаги настройки пайплайнов для создания и публикации пакетов, а также примеры конфигурации файлов .gitlab-ci.yml и Dockerfile.

Читать далее

Новогодний квиз по вашему git log. Пятничный пост

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

Наступает конец года. Впереди последний релиз, код-фриз, корпоратив и подведение итогов. Я накидал пару командных HTML игр (например, квиз), основанных на логах вашего репозитория (для git). Наливаем чай или пиво. Собираем команду. Играем, смотрим ачивки. Исходники тут

Читать далее

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

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

Есть ли жизнь вне GitHub? Смотрим альтернативы

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

Недавно со мной произошла довольно забавная ситуация : коллега попросил помощи со своим пэт-проектом. Перейдя по ссылке, меня встретила светлая тема (ну серьёзно, чьей задумкой было сделать её дефолтной), и интерфейс, который очень пытался быть похожим на GitHub, но у него не совсем получалось.

Читать далее

GitHub для тестировщиков: закладываем фундамент

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

Привет, Хабр! Я – Мария Скрипачева, тестировщик в АйТи-Балансе. Сегодня почти все компании применяют тестирование, и мы не исключение: наши проекты проходят несколько стадий проверок до развёртывания. На нынешнем месте работы я иногда встречаю вопрос, с которым не раз сталкивалась на предыдущих: «а нужен ли GitHub тестировщику?». Эта дискуссия не нова. Я решила внести свою лепту в обсуждение, опираясь на мой опыт и опыт моих коллег, и заодно рассказать о фундаментальных вещах. Поехали🚀

Читать далее

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