Рубрика «Системы управления версиями» - 13

Приветствую,

Поиск по архивам Хабра показал, что о Perforce Helix почти ничего не писали, а в рунете доступна только обзорная статья про расширение для VS и перевод англоязычной старенькой статьи Dear Perforce: fcuk you. При этом в комментариях к статье, посвящённой используемым системам контроля версий, Perforce часто упоминали, поэтому мне захотелось опубликовать пару обзорных статей по функциональности Perforce Helix, которые возможно кому-то помогли бы разобраться в данной платформе, то есть исключительно для информационной составляющей.
Читать полностью »

За все время опыта веб-разработки приходилось сталкиваться с различными хостингами на которых работали сайты: от тех, на которых поддерживаются только текстовые форматы (а-ля narod.ru) до виртуальных машин, на которых есть root доступ.

Относительно недавно столкнулся с проблемой: велась разработка сайта на shared хостинге, имеющем достаточный набор технологий для обычного сайта для контента вроде новостей. Одной из существенных проблем стало отсутствие системы контроля версий. Установить ее традиционным способом не представлялось возможным. Были начаты поиски пути для решения этой проблемы.

Задача была выполнена, и как она была решена — пошагово описано ниже.
Читать полностью »

Доброго времени суток.
Я работаю Ruby разработчиком в стремительно растущей IT-компании. И вот однажды нами было принято стратегическое решение смены сервиса для работы с Git. Всех, кому интересно, прошу под кат.

Читать полностью »

Предисловие

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

Приведенный ниже сценарий обрабатывает статусы состояний только антивирусов, используемых в нашей корпоративной сети.
Читать полностью »

18 февраля в Москве, мы традиционно провели нашу ежегодную конференцию по решениям Microsoft в области управления жизненным циклом разработки программного обеспечения. В этом году ALM Summit состояла из основного трека и круглых столов, на которых были затронуты следующие тематические направления:

  • Инфраструктурные решения ALM в облаке, которые позволяют быстро развернуть комплекс ALM инструментов и в считанные часы запустить проект.
  • Методологические рекомендации по ведению проектов, SCRUM, Kanban, Agile, сбор информации о ходе проекта, ее анализ и отчетность.
  • Обеспечение качества разрабатываемых систем с помощью тестирования, как построить эффективную среду тестирования с помощью инструментов Team Foundation Server и Team Foundation Services в облаке.
  • Эксплуатация разрабатываемых систем, обеспечение обратной связи для повышения качества.

Как обычно, мы транслируем и записываем конференцию.

И рады сообщить, что записи доступны для просмотра!
Читать полностью »

Не упустите 18 февраля в 10:00 (МСК) онлайн-трансляцию ALM Summit 2016 - 1
18 февраля в Москве, мы традиционно проводим нашу ежегодную конференцию по решениям Microsoft в области управления жизненным циклом разработки программного обеспечения. В этом году ALM Summit будет состоять из основного трека и круглых столов, на которых будут затронуты следующие тематические направления:

  • Инфраструктурные решения ALM в облаке, которые позволяют быстро развернуть комплекс ALM инструментов и в считанные часы запустить проект.
  • Методологические рекомендации по ведению проектов, SCRUM, Kanban, Agile, сбор информации о ходе проекта, ее анализ и отчетность.
  • Обеспечение качества разрабатываемых систем с помощью тестирования, как построить эффективную среду тестирования с помощью инструментов Team Foundation Server и Team Foundation Services в облаке.
  • Эксплуатация разрабатываемых систем, обеспечение обратной связи для повышения качества.

Как обычно, мы транслируем и записываем конференцию.

Не упустите 18 февраля в 10:00 (МСК) онлайн-трансляцию ALM Summit 2016!

Онлайн-трансляция конференции будет доступна по ссылке: channel9.msdn.com/Events/Alm-Summit-Russia/ALM-Summit-2016
Читать полностью »

Ежедневные релизы — это не так уж страшно - 1

Меня зовут Оксана Харчук, я работаю QA-инженером в DataArt чуть больше года. Расскажу, как в нашем проекте организован процесс работы, и как быть, если релиз каждый день.

Сначала, когда я только пришла в DataArt, слово «релиз» ассоциировалось у меня с чем-то страшным. Но, как оказалось, если процесс работы построен правильно, релизы даже каждый день — совсем не страшно, а очень даже удобно.Чтобы этого достичь, процесс разработки в нашем проекте построен на принципах непрерывной поставки (continuous delivery) и непрерывной интеграции (continuous integration).

Что такое Continuous delivery и Сontinuous integration?

Continuous delivery или непрерывная поставка ПО — набор практик и принципов, нацеленных на сборку, тестирование и поставку ПО быстрее и чаще. Непрерывная поставка качественного кода опирается, в свою очередь, на непрерывную интеграцию.

Сontinuous integration, или непрерывная интеграция — это практика разработки ПО, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. Ведь ясно: если над разными частями кода работают несколько программистов, при интеграции этих частей возникает много трудностей. Непрерывная интеграция помогает справиться с ними.
Читать полностью »

При эксплуатации системы GitLab CE на своем предприятии (имеющему большую филиальную структуру), была обнаружена уязвимость, которая может привести к получению полного доступа к аккаунту любого пользователя системы администраторами филиалов предприятия.

Проблема выявлена в подсистеме LDAP-аутентификации пользователей. Дело в том, что основной сущностью, с использованием которой происходит авторизация в GitLab является E-Mail пользователя. Однако при входе пользователей в GitLab с использованием LDAP процесс аутентификации/авторизации происходит следующим образом:

  • Пользователь вводит на странице Sign-In системы свои имя/пароль из службы каталогов LDAP (Active Directory).
  • GitLab, используя введенные данные аккаунта производит аутентификацию пользователя в LDAP.
  • В случае успешной аутентификации GitLab считывает из атрибута MAIL аутентифицированного аккаунта адрес электронной почты и авторизует по нему в GitLab без всяких дополнительных проверок

.
В результате, например, «нехороший» системный администратор «филиала A», может используя свои полномочия, к примеру в Active Directory, создать в своем OU «Филиал А» любого пользователя (например hackuser) и записать в его LDAP-атрибут MAIL адрес электронной почты пользователя любого другого филиала, на который даже не распространяются полномочия этого администратора. После этого «нехороший» администратор «Филиала А» может авторизоваться пользователем hackuser в системе GitLab, при этом в результате авторизации будет получен полный доступ к аккаунту пользователя, имеющего адрес электронной почты установленный «нехорошим» администратором для hackuser.
Читать полностью »

Когда я познакомился с Mercurial, то все свои знания я почерпнул из статей Спольского (перевод на Хабре), которые подробно описывают основные принципы работы Mercurial и ежедневную работу с ним. Долгое время я использовал Mercurial в пределах, которые не превышали объема этих статей. Наверно, для одиночного разработчика этого почти достаточно. Почти. Но Mercurial сегодня значительно шире и обладает возможностями допускающими редактирование истории изменений, наличие которых, в общем-то, не очевидно, хотя возможности эти достаточно ценны. А из комментариев к разным статьям по системам управления версиями видно, что многие разработчики об этих возможностях не знают. Ниже я хочу провести обзор ряда возможностей Mercurial связанных с изменением истории.

О чем пойдет речь:

  • фазы
  • hg commit –amend
  • hg strip
  • hg rebase

Читать полностью »

Мониторинг динамических XML-документов - 1
На работе в рамках проектирования новой системы интеграции устройств для мониторинга аудио/видео потоков возникла задача отслеживания, накопления и последующего анализа изменений их состояния. Состояние выдаётся через зоопарк динамических XML-документов, используемых, в основном, для наполнения legacy web-UI.

Для упрощения интеграции мною была предложена идея создания обобщённой библиотеки для сохранения структурированных diff-ов для (почти) произвольного XML. Поскольку эти diff-ы будут сохраняться с учётом структуры документа, это дало бы возможность очень экономно аккумулировать изменения состояния устройств, а также в будущем генерировать отчёты с аналитикой, диаграммами, и т.п. После недели запойного программирования я набросал работающий proof-of-concept, которым и хочу поделиться в данной статье.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js