Как стать автором
Обновить
27.8

Git *

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

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

Что такое GitOps и почему он (почти) бесполезен. Часть 2

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 5K
Блог компании Газпромбанк Git *Управление проектами *DevOps *Kubernetes *
Обзор

Одной каноничной синей изоленты может не хватить

Каждый раз, когда появляется новая технология, на очередной конференции вам показывают отполированного коня в вакууме, который сияет своей красотой и логичностью. Но, как правило, дьявол кроется в деталях. Гравитация оказывается бессердечной дамой, а «сова» ваших бизнес-процессов не так красиво натягивается на «глобус» новой технологии, как хотелось бы.

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

Какие ещё потенциальные сложности могут встретить вас при следовании пути GitOps и какие могут быть альтернативы? Давайте разберёмся вместе.
Читать дальше →
Всего голосов 35: ↑33 и ↓2 +31
Комментарии 133

Новости

Реализация конфигурируемого SaaS решения via ArgoCD & Terraform

Время на прочтение 11 мин
Количество просмотров 1.3K
Git *DevOps *Kubernetes *
Кейс

Мне представилось решать интересную задачу. Необходимо реализовать настраиваемый SaaS, где пользователь может выбрать галочками нужные ему модули и щелкнуть кнопку готово. После этого для пользователя должен быть создан отдельный кластер Kubernetes (или отдельный namespace в общем кластере в зависимости от тарифного плана) с выбранными модулями, которые представляют из себя наборы микросервисов.

В этой статье я хочу осветить мой GitOps вариант реализации этой задачи и показать, на что способен ArgoCD и Terraform.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 5

[Студентам] Советы изучающим git

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 30K
Git *
Из песочницы

Периодически от студентов приходят вопросы о работе системы контроля версий Git. Частая причина возникновения этих вопросов — непонимание разницы между репозиторием и обычной папкой.

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

Читать далее
Всего голосов 43: ↑29 и ↓14 +15
Комментарии 118

Простой автодеплой средствами Bitbucket Webhooks и PHP

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 1.7K
PHP *Nginx *Git *
Из песочницы

В этой статье я покажу, как организовать простейший автодеплой на сервере. Для автодеплоя через Bitbucket Webhooks и PHP не нужно использовать какие-то сложные решения.

Для начала можно подумать, что git pull выполняется через PHP с помощью этого куска кода:

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 20

Истории

Развертывание копий Zabbix на Ansible

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 4.3K
Python *Git *DevOps *
Туториал

Недавно выпала задача по развертке копий основного Zabbix-server на несколько машин, дабы хранить конфиги на разных серверах, да и еще всунуть это в CI/CD GitLab.

В общем, подробно описал свое решение со ссылкой на репозиторий.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 7

Что такое GitOps и почему он (почти) бесполезен

Уровень сложности Сложный
Время на прочтение 9 мин
Количество просмотров 12K
Блог компании Газпромбанк Git *Управление проектами *DevOps *Kubernetes *
Обзор

Новый авиалайнер. Входит стюардесса в пассажирский салон: «Вы находитесь на нашем новом авиалайнере, в носовой части самолёта у нас находится кинозал, в хвостовой — зал игровых автоматов, на нижней палубе — бассейн, на верхней — сауна. А теперь, уважаемые господа, пристегните ремни, и со всей этой хреновиной мы попробуем взлететь».

Привет, меня зовут Олег! В ИТ-индустрии я работаю большую часть своей жизни. Мне очень интересно развитие инженерной мысли в области управления конфигурацией инфраструктуры, и последние шесть лет я занимаюсь тем, что называется DevOps.

Одна из свежих популярных тенденций — это концепция GitOps, которая была представлена в 2017 году на ставшем уже легендарным «Кубконе» Алексисом Ричардсоном — СЕО компании Weaveworks.

Weaveworks — это большая взрослая компания, которая в 2020 году привлекла больше 36 миллионов инвестиций под развитие своего GitOps.

Сейчас я попробую рассказать о тех неочевидных проблемах, которые могут вас ждать при принятии этой концепции. Если коротко, то GitOps не является «Серебряной пулей». Вполне вероятно, что спустя какое-то время вы закончите реорганизацию с ворохом велосипедов и костылей, которыми очень сложно управлять. Мы сами изрядно походили по этим граблям и хотим показать наиболее неприятные проблемы, которые не видны при чтении красивых статей.
Читать дальше →
Всего голосов 51: ↑43 и ↓8 +35
Комментарии 54

Шпаргалки для data science (для начинающих)

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 5.8K
Python *Git *Big Data *Data Engineering *
Туториал

Подготовил шпаргалки для людей, использующих в своей работе python, sql, git, pandas numpy.

Читать далее
Всего голосов 27: ↑4 и ↓23 -19
Комментарии 14

Как использовать GitLab в условиях санкций?

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 18K
Блог компании RUVDS.com Хостинг Git *Управление разработкой *DevOps *

GitLab — известная платформа для совместной разработки ПО, которая сочетает в себе систему управления версиями (Git), баг-трекер, CI/CD и прочие фичи DevOpsSec.

Изначально Дмитрий Запорожец и Валерий Сизов создали эту систему для собственных нужд, потом выпустили под открытой лицензией — и в конце концов построили процветающий бизнес, который основан на разделении лицензий: «общественная» Community Edition и «корпоративная» Enterprise Edition с рядом дополнительных плюшек на хостинге GitLab или на своём хостинге.
Читать дальше →
Всего голосов 60: ↑53 и ↓7 +46
Комментарии 56

Двухуровневый CI-процесс PHP-проекта

Время на прочтение 5 мин
Количество просмотров 2.2K
PHP *Git *
Кейс

Непрерывная интеграция (CI, англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Целей у непрерывной интеграции две:

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 9

Зеркалирование GitHub-проектов в 2023 году

Время на прочтение 5 мин
Количество просмотров 4.8K
Блог компании Positive Technologies Git *GitHub *Разработка под Linux *DevOps *

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

Читать далее
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 17

Фича-тогглы: инструкция по применению

Время на прочтение 6 мин
Количество просмотров 2.5K
Блог компании AvitoTech Git *

Всем привет! Я Павел, тимлид команды SLA, и занимаюсь оценкой надёжности Авито. В своей прошлой статье я рассказал про стратегии ветвления и Trunk Based Development. Если не читали, переходите по ссылке. А сейчас я хочу рассказать про фича-флаги, которые появляются именно в контексте TBD.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 4

GitLab выкатил версию 15.8. Рассказываем, что нового

Время на прочтение 3 мин
Количество просмотров 10K
Блог компании AGIMA Git *GitHub *
Обзор

Привет! Я Максим Рязанцев, DevOps-специалист в AGIMA. На днях GitLab выкатил новую версию — версию 15.8. Мы с коллегами внимательно ее изучили, разобрались, что нового. И теперь решили поделиться списком улучшений. Тем более, что список внушительный. Правда, самые заметные изменения в касаются только облачной Ultimate-версии. Но мы-то знает, что со временем фичи с облака мигрируют в Self-Managed-версию. Так что коротко расскажем обо всех новинках.

Читать далее
Всего голосов 39: ↑38 и ↓1 +37
Комментарии 5

Git для ленивых: обзор консольной утилиты Lazygit

Время на прочтение 7 мин
Количество просмотров 17K
Блог компании Флант Системное администрирование *Программирование *Git *DevOps *
Обзор

При работе с Git-репозиториями часто нужно выполнять множество одинаковых действий: фиксировать изменения, переключать ветки, синхронизировать репозитории. Всё это требует ввода соответствующих команд в терминале. Когда частота ввода повышается до утомительной, на помощь могут прийти различные GUI-инструменты. В статье расскажу об одном из них — Lazygit, легковесном консольном клиенте для Git, который облегчает и упрощает работу с репозиториями.

Читать далее
Всего голосов 50: ↑48 и ↓2 +46
Комментарии 35

Топ-15 шпаргалок для программистов и WEB-разработчиков

Время на прочтение 4 мин
Количество просмотров 22K
Разработка веб-сайтов *JavaScript *Java *Git *
Обзор
Перевод

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

Если вам не хочется делать заметки самим, то не стоит беспокоиться, потому что шпаргалки доступны по любому предмету в Интернете. Чтобы помочь вам в учебе, я составила этот список лучших шпаргалок.

Хватит разговоров, давайте перейдем к делу.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 15

Настройка badges в репозиториях gitlab, с помощью Gitlab API, в CI/CD

Время на прочтение 3 мин
Количество просмотров 2.6K
Git **nix *GitHub *Разработка под Linux *DevOps *
Туториал

Простая визуализация версий установленных релизов, строчек кода, версии интерпретатора и много другое с помощью Gitlab Badges. Создание Gitlab Badges с помощью Gitlab API requests.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Резервное копирование репозиториев с github, gitlab

Время на прочтение 1 мин
Количество просмотров 6.3K
Python *Git *GitHub *Хранение данных *
main

Резервное копирование репозиториев с git серверов на основе github и gitlab по токену. Скрипт скачивает все Ваши репозитории доступные по токену и архивирует их. Давно хотел написать такой инструмент т.к. использую и те и те сервера в работе и личных целях. У меня полно старых проектов которые хранятся только на git, если с ним что-то случится, то их уже не будет.

Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 17

Git: Игнорирование отслеживания файлов, которые уже есть в удаленном репозитории

Время на прочтение 2 мин
Количество просмотров 4.3K
Git *
Из песочницы
Если внести файл в .gitignore, то он не будет отслеживаться гитом лишь в том случае, если этого файла нет в удаленном репозитории.

Но если в репозитории уже есть (к примеру конфиги сайта), а мы не хотим, чтобы наши локальные конфиги отслеживались, то можно выполнить команду:
git update-index --assume-unchanged application/config/database.php

либо всю папку
git update-index --assume-unchanged application/config/*
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 6

Первая попытка gitlab-ci на фронте

Время на прочтение 4 мин
Количество просмотров 4.2K
Git *DevOps *VueJS *
Из песочницы

Эта статья о сценарии развертывания фронта, через инструменты Gitlab-CI.


Я использую GitLab-CI, а носителем исполнения скриптов GitLab Runner (об этом позже) пусть будет простой дроплет от DO

Читать дальше →
Всего голосов 10: ↑2 и ↓8 -6
Комментарии 0

Как мы интегрировали и настроили для работы Conventional Commits в PHPStorm

Время на прочтение 3 мин
Количество просмотров 1.6K
PHP *Git *Системы управления версиями *Управление проектами *

Поднялся вопрос стандартизации коммитов в команде. До этого были такие правила, мы пишем номер задачи и через тире описание того, что было сделано кратко. Номер задачи берется из номера issue. Например: #1 - реализован функционал сборки прода. Но, это надоело и стало как-то неудобно, когда у нас есть четкое деление задач на фиксы, фичи и так далее.

Нашли Conventional Commits и попробовали его на тестовом репозитории, понравилось. Решили внедрить это в команду, но столкнулись с тем, что люди не всегда делают коммиты правильно, а значит нужна какая-то валидация.

В нашей команде принято по максимуму IDE и его возможности. То есть, коммиты мы делаем не через консоль, а через встроенные утилиты. Поэтому, сразу пошли искать плагины, которые есть в PHPStorm и нашли вот эти 2 важных плагина: Conventional Commit и Git Commit Template. После их установки видим новые кнопки в окне коммита:

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 9

Git for Windows: вклад в проект с помощью патча

Время на прочтение 15 мин
Количество просмотров 2.6K
WordPress *PowerShell *Git *Системы управления версиями *Разработка под Windows *
Туториал

Существуют разные способы совместной работы над исходным кодом проекта. Так получилось, что сначала я познакомился с тем, как работать с командой «git push», посылая свои изменения в удаленный репозиторий, и как создать на сайте «GitHub» форк для отправки из него запроса на принятие изменений («pull request», сокращенно «PR»). И только после этого я узнал о том, что существует способ обмена изменениями в код с помощью файлов-патчей.

В этой статье я экспериментирую с командой «git diff», создаю тестовый проект и файл-патч из него в программах-оболочках «PowerShell» версии 7 и «Git Bash». Клонирую проект и применяю полученный файл-патч с помощью команды «git apply».

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

Читать далее
Всего голосов 5: ↑1 и ↓4 -3
Комментарии 5

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