CodeZero — это новый продукт автоматизации DevOps от BluFlame Technologies. Пару недель назад он был опубликован как закрытый альфа-релиз. Проделана тонна работы. Наш релиз Beta-1 скоро будет доступен для избранной группы, за которым последует Beta-2, которая будет доступна всем подписчикам bluflametech.com. Читайте дальше, чтобы узнать, что делает CodeZero и что ждет нас на горизонте.

Короче говоря, CodeZero был создан для решения проблем с автоматизацией DevOps, как описано в нашем блоге с метким названием Проблема (ы) с автоматизацией DevOps. Излишне говорить, что это высокие цели, и не все они будут достигнуты при первоначальном выпуске. Однако то, что у нас будет для общедоступной версии, — это платформа, на которой мы сможем решить эти проблемы.

Непрерывная поддержка интеграции

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

Конфигурация

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

В качестве формата конфигурации CodeZero был выбран YAML; он считывается из репозитория при запуске задания. Для поддержки разнородных проектов к каждому модулю можно прикрепить собственный язык и версию. Глобальный язык/язык по умолчанию и версия также могут быть определены вместо или в дополнение к языкам, определенным на уровне модуля.

Интересно отметить, что этапы и операции, которые они выполняют в модулях, логически разделены. Это было сделано намеренно, чтобы в будущем операции можно было называть заказными исполнениями, ссылаясь на них напрямую. Вы можете думать об этом как об инструменте мета-сборки.

Интеграция с GitHub

Изначально будут поддерживаться только репозитории GitHub. Это было сделано, потому что (1) GitHub по-прежнему имеет самую большую базу пользователей среди всех предложений Git SaaS (программное обеспечение как услуга) и (2) было сильное желание не иметь внутреннего IdP (поставщика удостоверений). Дополнительные поставщики Git SaaS и другие продукты будут поддерживаться в будущем. Но при первоначальном выпуске это будет просто GitHub.

Бесплатные + платные планы

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

После первоначального выпуска

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

Поддержка дополнительных языков (SDK)

Как бы нам ни хотелось, мы не можем сразу поддерживать все языки. Итак, мы будем поддерживать некоторые самые популярные языки, такие как Java, Python и Node/JavaScript. Дополнительные языки будут добавлены после первоначального выпуска.

Дополнительные поставщики Git

BitBucket и, возможно, GitLab будут добавлены в качестве IdP с поддержкой репозиториев, размещенных на их платформах. В будущем также будет доступна поддержка внутренних сервисов Git через интеграцию SSO (Single Sign-On).

Самостоятельные менеджеры по вакансиям

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

События для монорепозиториев

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

Интерфейс командной строки

Было бы неплохо, если бы и операции, и этапы, определенные в конфигурации CodeZero, можно было напрямую вызывать из командной строки? И было бы здорово, если бы журналы и другие артефакты можно было получать и из командной строки? Мы так думаем. На самом деле, мы думаем, что было бы здорово, если бы CodeZero чувствовал себя как локальный инструмент сборки, но со всей мощью CodeZero SaaS прямо в вашей среде разработки!

Архетипы проекта

Что, если бы с помощью одной команды вы могли бы иметь полный работающий программный проект в своем локальном репозитории? Что, если бы с такой же легкостью вы могли бы опубликовать рабочий код программного проекта для повторного использования? Мы называем эту функцию архетипами проекта, и нам не терпится интегрировать ее в CodeZero.

Подведение итогов

Излишне говорить, что мы очень рады предстоящему выпуску нашего нового продукта CodeZero. Мы думаем, что у него есть кое-что хорошее, что можно предложить, и еще много отличных вещей, которые появятся после первого релиза. Конечно, есть еще над чем поработать. Итак, если вам интересно следить за нашим прогрессом или если вы хотите предложить функцию или зарегистрировать проблему, codezero-issues — это наш общедоступный репозиторий отслеживания проблем для CodeZero.