Обновить
5.94

Системы управления версиями *

GIT, SVN и иже с ними

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

Введение в GitHub Actions

Время на прочтение2 мин
Охват и читатели17K
В этой статье Senior App Dev Manager Джейсон Джордано (Jason Giordano) покажет нам, как использовать GitHub Actions для создания очень простого CI/CD решения.

GitHub Actions, релиз которого состоялся 13 ноября 2019 года, позволяет легко автоматизировать все ваши рабочие процессы в области программного обеспечения. Вы можете ознакомиться с подробностями здесь.



Также рекомендую ознакомиться с данной документацией перед тем, как решите расширить свое решение.
Читать дальше →

Вышел релиз GitLab 12.5 с созданием кластеров EKS и панелью окружений

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

Картинка для привлечения внимания


Вышел новый релиз GitLab с созданием и развертыванием кластеров EKS, поддержкой Crossplane, панелью окружений и многими другими классными фичами!

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

История систем управления версиями

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


В этой статье сравним с технической точки зрения самые известные системы управления версиями (в будущем планируем расширить список):

  1. Первое поколение
  2. Второе поколение
  3. Третье поколение
Читать дальше →

NILFS2 — пуленепробиваемая файловая система для /home

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


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

Если вы — хостер или владелец сайта, то, наверное, сталкивались со взломами пользовательских аккаунтов или своего сайта. В таких случаях важно восстановить хронологию, найти способ проникновения и уязвимость, которую использовал злоумышленник.

Для решения подобных проблем прекрасно подойдёт файловая система NILFS2.
Читать дальше →

Понимание разницы между СI и СD: «если что-то вызывает боль, делайте это почаще»

Время на прочтение9 мин
Охват и читатели27K
Disclaimer. Костис Капелонис — Developer advocate (человек, защищающий и отстаивающий принципы программной разработки) Codefresh, первой платформы CI/CD для Kubernetes и контейнеров. Миссия Codefresh «Автоматизировать и упрости всё, от кода до облака». Как инженер-программист, Костис имеет многолетний опыт контейнеризации приложений, построения конвейеров CI/CD и разработки приложений Java. Он живет в Греции и любит кататься на роликах.

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

Существует много информации о непрерывной интеграции (CI) и непрерывной доставке (CD). Публикации в блогах с помощью технических терминов пытаются объяснить, что означают методологии CI/CD, что они делают и как они могут помочь вашей компании. К сожалению, часто обе эти методологии связывают с конкретными инструментами или даже поставщиками ПО. Типичный разговор на эту тему в компании звучит так:

— Вы используете непрерывную интеграцию в вашей команде?
— Да, конечно, мы используем инструмент X!

Позвольте мне раскрыть вам маленький секрет. Непрерывная интеграция и доставка – это два подхода к разработке кода, которые совершенно не связаны с конкретным инструментом или поставщиком. Несмотря на то, что существуют инструменты и решения, которые могут помочь вам в обеих случаях (например, Codefresh), в действительности компания может практиковать CI / CD, используя только сценарии bash и однострочники Perl. Ээто не очень практично, но, безусловно, вполне возможно.

Поэтому, вместо того, чтобы попадать в общую ловушку объяснения сути CI/CD с помощью инструментов и технических терминов, мы объясним, что представляют собой эти методологии, опираясь на самый важный фактор процесса разработки – людей!
Читать дальше →

Введение в Git

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

Какую систему управления версиями вы используете (в реальной работе, больше всего)?

Время на прочтение1 мин
Охват и читатели9.1K
Очередная (2015, 2012, 2011, 2010, 2009) перепись в сфере VCS.

GitHub Desktop 2.2: что нового

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


Любой, кто использует Git, знает, что у него крутая линия обучения. Мы узнали от разработчиков, что большинство людей, как правило, учатся у знакомых, будь то коллега, профессор, друг или даже видео на YouTube. В GitHub Desktop 2.2 мы добавляем первую версию интерактивного учебника по Git и GitHub, который может стать вашим другом и помочь вам начать работу. Если вы новичок в Desktop, вы можете скачать и попробовать учебник по адресу desktop.github.com.
Читать дальше →

Git изнутри и на практике

Время на прочтение11 мин
Охват и читатели19K
Умение работать внутри системы контроля версий — навык, который требуется каждому программисту. Зачастую может показаться, что закапываться в Git и разбираться в его внутренностях — лишняя потеря времени и основные задачи можно решить через базовый набор команд.

Команде AppsCast, конечно, захотелось узнать больше, и за консультацией по практическому применению всех возможностей Git ребята обратились к Егору Андреевичу из Square.


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

Простой и безопасный способ автоматизации канареечных деплоев с помощью Helm

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


Канареечный деплой — это очень эффективный способ тестирования нового кода на каком-то подмножестве пользователей. Он значительно снижает трафик-нагрузку, с которой могут возникнуть проблемы в процессе развертывания, так как происходит только в пределах определенной подгруппы. Эта заметка посвящена тому, как организовать подобный деплой средствами Kubernetes и автоматизации деплоя. Предполагается, что вы кое-что знаете о Helm и ресурсах Kubernetes.
Читать дальше →

BIZERBA VS MES. Во что инвестировать производителю?

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

1. Стоимость этикетировочной машины для весовой продукции сопоставима со стоимостью проекта внедрения MES-системы. Для простоты, пусть и то, и другое, будет стоить 7 млн. рублей.
Читать дальше →

Используйте GIT при документировании

Время на прочтение7 мин
Охват и читатели43K
Иногда не только сама документация, но и процесс работы над ней может быть критичным. Например, в случае проектов львиная часть работы связана именно с подготовкой документации, и неправильный процесс может привести к ошибкам и даже к потере информации, а, следовательно, и к потере времени и выгоды. Но даже если эта тема и не является центральной в вашей работе и находится на периферии, то все равно правильный процесс может улучшить качество документа и сэкономить вам время.

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

Статический веб: возврат к истокам?

Время на прочтение6 мин
Охват и читатели19K
Мы обратимся к ранним годам интернета, чтобы понять нынешнюю популярность динамических сайтов. Затем рассмотрим преимущества статических сайтов с точки зрения производительности, скорости редактирования и поисковой оптимизации.

Сначала была статика.

В первые дни интернет был обществом энтузиастов, разработчиков и инженеров. Несмотря на частые сравнения между MySpace и Facebook, эти два сервиса принципиально отличаются. Они также хорошо демонстрируют разницу в «интернет-парадигме» соответствующего времени.

И то, и другое — социальные сети, но создание страницы на MySpace требовало базового понимания HTML и CSS. В конце концов, сайт открылся в 2003 году. С другой стороны, простой в использовании интерфейс Facebook помог расширить аудиторию до двух с лишним миллиардов пользователей.

За антагонизмом MySpace/Facebook лежит критическая точка напряжённости в интернете: как взаимодействовать с контентом, который мы редактируем? Тут есть два основных способа.
Читать дальше →

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

Представлен GitHub Package Registry

Время на прочтение2 мин
Охват и читатели16K
Вышел GitHub Package Registry, сервис управления пакетами, который позволяет легко публиковать публичные или частные пакеты рядом с исходным кодом.

Реестр пакетов GitHub полностью интегрирован с GitHub, поэтому вы можете использовать те же инструменты поиска, просмотра и управления, чтобы находить и публиковать пакеты, что и при работе с репозиториями. Вы также можете использовать одни и те же пользовательские и командные права для совместного управления кодом и пакетами. GitHub Package Registry обеспечивает быструю и надежную загрузку, с поддержкой глобальной CDN GitHub. Кроме того, он поддерживает знакомые инструменты управления пакетами: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet) и Docker (и другие на подходе).

Вы можете попробовать GitHub Package Registry сегодня в ограниченной бета-версии. Он всегда будет бесплатным для использования для Open-Source. Более подробная информация о ценах будет объявлена ​​в ближайшее время.

Попробовать бета-версию

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

Советы по организации работы c Git

Время на прочтение4 мин
Охват и читатели19K
Как обычно используют git? Пара базовых команд, чтобы «всех синхронизировать». Разочарование от git часто возникает у тех, кто никогда не выходит за пределы этого поверхностного понимания. Однако освоение git наверняка окупится. Сколько времени вы тратите на использование git? Я бы предположил, что на вашем поясе немало инструментов, которые вы используете вдвое реже и потратили вдвое больше времени на изучение.


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

Выбор стратегии жизненного цикла программного обеспечения при наличии нескольких зависимых фронтэндов

Время на прочтение3 мин
Охват и читатели6.4K
Жизненный цикл программного обеспечения известен большинству современных программистов.

Даже школьник, написав свою первую программу

<?php 
echo "Hello, Хабр! На пхп"
?>

или

fprintf( 'Привет Хабр на Матлабе!\n');

понимает технологический процесс.

  1. Думает над задачей — этап появления идеи
  2. Думает над задачей и каким способом её нужно реализовать — Анализ и проработка требований,
    построение программной модели и плана на реализацию. Короче, архитектурный этап.
  3. Программирование.
  4. Тестирование. «А что там получилось»
  5. Эксплуатация.

Между 1-5 этапами нитиобразно мы имеем непрерывно взаимодействующие процессы.

Для этого существуют всякие Водопады, Скрамы итд.

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

И по этой причине мы все наблюдаем обилие проектов, в которых одновременно существуют несколько типов фронэндов, взаимодействующих по API с централизованным бэкэндом.
Читать дальше →

Бизнес-логика в базе данных при помощи SchemaKeeper

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

Цель статьи — на примере библиотеки schema-keeper показать инструменты для упрощения разработки баз данных в PHP-проектах, использующих СУБД PostgreSQL.


Будут рассмотрены следующие вопросы:


  1. В каком виде хранить дамп структуры БД в системе контроля версий (далее по тексту — VCS)
  2. Как отслеживать изменения в структуре БД после сохранения дампа
  3. Как переносить изменения в структуре БД на другие окружения без конфликтов и гигантских файлов миграций
  4. Как наладить процесс параллельной работы над проектом нескольких разработчиков
  5. Как безопасно деплоить большее количество изменений в структуре БД на production-окружение

Информация из этой статьи, в первую очередь, будет полезна разработчикам, которые по максимуму хотят использовать возможности PostgreSQL, но сталкиваются с проблемами сопровождения бизнес-логики, вынесенной в БД.


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

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

Вышел релиз GitLab 11.8 с SAST для JavaScript, GitLab Pages для подгрупп и отслеживанием ошибок

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

Картинка для привлечения внимания


Поддержка SAST для JavaScript


Благодаря Static Application Security Testing (SAST) GitLab сканирует код и помогает обнаружить потенциальные уязвимости еще в конвейере. В релизе 11.8 мы добавляем в список поддерживаемых SAST языков JavaScript, на основе существующей поддержки node.js. Теперь можно просканировать любые файлы JavaScript, статические скрипты и HTML. Важной практикой в DevSecOps сейчас является сканирование изменений при каждом коммите, и с этим обновлением SAST мы покрываем один из самых популярных веб-языков, помогая пользователям раньше обнаруживать риски в коде на JavaScript.

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

Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов

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

Картинка для привлечения внимания


Управление релизами стало намного проще


GitLab 11.7 представляет Релизы для планов начиная с Core. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.

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

Монорепозитории: пожалуйста, не надо (часть 2)

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

Итак, новая порция обещанного холивара про монорепозитории. В первой части мы обсуждали перевод статьи уважаемого инженера из Lyft (и ранее Twitter) о том, какие есть недостатки у монорепозиториев и почему они нивелируют почти все достоинства этого подхода. Лично я во многом согласен с доводами, приведенными в оригинальной статье. Но, как и обещал, чтобы поставить точку в этом обсуждении, я бы хотел озвучить еще несколько моментов, на мой взгляд даже более важных и более практических.
Читать дальше →

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