• Феншуйная автоматизация CI & CD с помощью Jenkins и Jira

      image alt text


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


      Рассказывать о долгом и тернистом пути всегда непросто. Однако за последние годы инфраструктура разработки Яндекс.Денег сделала большой шаг в сторону автоматизации самого важного для нас процесса — релиза, о чем просто грех не рассказать. Фактически получилось полноценное решение Continuous Integration и Continuous Delivery на базе связки Bitbucket, Jenkins и Jira.

      Читать дальше →
      • +22
      • 14,4k
      • 8
    • OpenShift + Jenkins + Bitbucket, непрерывная интеграция и публикация из коробки


        В этой статье я покажу, как быстро развернуть среду для сборки, тестирования и публикации приложений используя платформу OpenShift на примере PHP проекта. Использовать буду OpenShift online, но всё это же можно развернуть и на собственных серверах или в VirtualBox (есть готовая сборка). Git-сервером для хранения и версионирования кода будет Bitbucket.
        Читать дальше →
        • +15
        • 10,3k
        • 3
      • Автоматическое развертывание приложения ElasticBeanstalk c помощью Bitbucket Pipelines

          У bitbucket есть сервис ( Bitbucket Pipelines), который среди прочего позволяет предельно просто организовать автоматическое развертывание приложений в облаке Amazon, в частности используя ElasticBeanstallk. Кому интересно, прошу под кат.


          Читать дальше →
        • Как отобразить динамическую выгрузку из БД на страницах Atlassian Confluence?

          • Tutorial

          На рынке существует огромное количество wiki-движков корпоративных баз знаний. Если вы используете Atlassian Confluence, вам наверняка будет интересно узнать, как расширить стандартные wiki-возможности системы. И использовать Confluence, в том числе, в виде витрины для динамического отображения любой полезной информации, например:

          • метрик вашего продукта,
          • Agile-метрик по работе команд,
          • графика роста численности вашей команды,
          • списка ближайших дней рождений,
          • и т. д.
          В этой статье я хочу поделиться своим опытом, как наиболее красиво и удобно отображать подобную информацию на страницах Confluence.
          Читать дальше →
          • +10
          • 4,7k
          • 6
        • Сопоставляем неоднозначные термины в GitLab, GitHub и Bitbucket

          • Перевод

          Всем привет, если вы не в курсе, мы начали публиковать переводы релизных статей ГитЛаба.
          Если вы пропустили предыдущие, вот ссылки: 8.10, 8.9, 8.8


          ГитЛаб выпускает релизы 22 числа каждого месяца.
          Перевод поста про релиз 8.11 в работе, а пока представляю на ваш суд еще одну статью из блога ГитЛаба про различие терминологии у GitLab, GitHub и Bitbucket.




          В зависимости от рабочих задач и потребностей клиентов разработчикам приходится использовать разные платформы управления репозиториями. Типичный разработчик участвует в каком-нибудь открытом проекте на GitHub, а на работе хостит проект одного клиента на GitLab, а другого — в Mercurial и на Bitbucket. Переключения между платформами осложняются тем, что в них одни и те же вещи могут называться совершенно по-разному. В этой статье мы поможем вам сопоставить различия и заодно объясним, почему мы выбрали именно такие названия.


          Начиная с версии 8.4 в GitLab значительно улучшился процесс миграции репозиториев из GitHub. Теперь GitLab импортирует не только репозитории, но ещё и вики-страницы, тикеты и пулл-реквесты. При этом большинство сущностей не меняют своего названия. Например, специфические термины Git, такие как commit или push, везде одинаковы. Не меняются и такие общие термины, как users, webhooks и issues.


          Читать дальше →
        • Как проинтегрировать TeamCity и Bitbucket Server

          • Перевод


          Bitbucket Server (ранее известный как Stash) — решение для централизованного управления разработкой, позволяющее управлять вашими репозиториями, в том числе не открывая доступа к ним извне организации. Bitbucket позволяет упростить хранение репозиториев с исходными кодами на вашем сервере и обеспечивает простоту доступа к репозиториям для всех членов вашей команды.

          В мире IT известно, что Bitbucket может быть проинтегрирован с другими продуктами и платформами в единую экосистему, которая делает процесс разработки всеобъемлющим и удобным. Чаще всего Bitbucket интегрируется с JIRA. Однако, поиск и локализация проблем — не единственная задача, с которой типовой процесс разработки сталкивается каждый день, и даже несколько раз в день. Более важной задачей является сохранение целостности проекта в процессе внесения дополнений и исправлений в код. Для этих задач вы можете использовать CI-сервер, который в том числе позволяет создавать сборки проектов и выполнять серии тестов для автоматической проверки функциональности.

          Bitbucket «из коробки» предлагает интеграцию с родственным решением от AtlassianBamboo. Но, помимо Bamboo, существуют другие CI-решения, которые также достаточно популярны — TeamCity и Jenkins. В нашем посте мы обрисуем специфику интеграции Bitbucket и TeamCity.

          Читать дальше →
        • Реклама помогает поддерживать и развивать наши сервисы

          Подробнее
          Реклама
        • Монолитные репозитории в Git

          • Перевод
          Многие выбрали Git за его гибкость: в частности, модель веток и слияний позволяют эффективно децентрализовать разработку. В большинстве случаев эта гибкость является плюсом, однако некоторые сценарии поддержаны не так элегантно. Один из них — это использование Git для больших монолитных репозиториев — монорепозиториев. Эта статья исследует проблемы монорепозиториев в Git и предлагает способы их смягчения.

          Скала Улуру
          Скала Улуру в Австралии как пример монолита — КДПВ, не более

          Что такое монорепозиторий?


          Определения разнятся, но мы будем считать репозиторий монолитным при выполнении следующих условий:
          • Репозиторий содержит более одного логического проекта (например, iOS-клиент и веб-приложение)
          • Эти проекты могут быть не связаны, слабо связаны или связаны сторонними средствами (например, через систему управления зависимостями)
          • Репозиторий большой во многих смыслах:
            • По количеству коммитов
            • По количеству веток и/или тегов
            • По количеству файлов
            • По размеру содержимого (то есть размеру папки .git)
          Читать дальше →
        • Поиск кода в Bitbucket Server

            С удовольствием делюсь новостью, которая, надеюсь, порадует некоторых читателей Хабра: в Bitbucket Server вот-вот появится возможность поиска по коду. Буквально на днях вышел релиз по программе раннего доступа (EAP).

            Начну с вольного перевода обращения менеджера продукта, опубликованного в блоге Atlassian:


            Как часто это случалось с вами: вы видите сообщение об ошибке, но не знаете, в какой части кода она происходит, или вам известно название функции, но не репозиторий, в коде которого она определена. Многие из вас просили добавить в Bitbucket Server поиск по коду, и я рад сообщить, что ваше ожидание подошло к концу. Сегодня мы приглашаем наших пользователей опробовать поиск по коду в Bitbucket Server через программу раннего доступа (EAP). Теперь вы можете искать и находить нужный код с помощью строки поиска:

            Строка поиска
            Читать дальше →
          • 6 секретов Bitbucket

            • Перевод
            Один из принципов дизайна в Atlassian — лаконичность. В ходе эволюции UX некоторые непопулярные действия, расчитанные на опытных пользователей, были спрятаны в выпадающих списках или за горячими клавишами. Там они ждут предприимчивого пользователя, который случайно наткнётся на них благодаря случайному нажатию клавиш или клику мышки (ну, или заглянет в руководство). Вот шесть моих любимых трюков Bitbucket Cloud, о которых вы, возможно, никогда не слышали:

            Омнибар


            Омнибар в Bitbucket — это строка быстрого доступа к действиям, похожая на ⇧⇧ в средах разработки JetBrains или ⌘+P в Sublime Text. Запустить омнибар можно на любой странице, нажав клавишу точки.

            По умолчанию, он покажет набор действий, соответствующих текущему контексту:
            Omnibar
            Читать дальше →
          • Разработка плагинов для Atlassian JIRA



              Все мы в IT сталкивались с системами отслеживания ошибок — с так называемыми баг-трекерами, с issue-трекерами. Один из популярных продуктов такого рода — Atlassian JIRA.

              На самом деле, Atlassian JIRA — это больше, чем просто система отслеживания ошибок. JIRA может использоваться довольно широко — в том числе и для управления проектами. Можно сказать, что JIRA — это система для отслеживания статуса задач. Задачи могут быть разными: это сбор требований, тестирование, непосредственно разработка и т. д. Я видел даже попытки подсадить на JIRA бухгалтеров — а что, мол, будет у нас agile-бухгалтерия!

              На официальном же сайте JIRA описывается следующим образом:
              JIRA is the tracker for teams planning and building great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity. At your desk or on the go with the new mobile interface, JIRA helps your team get the job done. В общем, основная идея JIRA в том, что она позволяет планировать работу.

              В этой статье я расскажу о том, как разрабатывать дополнения к этой программе. Впрочем, может возникнуть вопрос — а зачем разрабатывать дополнения для JIRA. Поэтому давайте рассмотрим, какие дополнения бывают.
              Читать дальше →
              • +13
              • 14,5k
              • 3
            Самое читаемое