Мы открываем исходный код фич со стадий Plan, Create, Verify, Package, Release, Configure и Defend.


Sid Sijbrandij потратил некоторое время на изучение фич GitLab и пришел к выводу, что по стратегии определения планов GitLab, направленной на покупателя, исходный код восемнадцати фич из семи разных стадий жизненного цикла DevOps должен стать открытым.


Когда в 2018 году мы представили новую модель планов GitLab, мы решили, что фичи будут распределяться между четырьмя планами на основании того, кто является потребителем этой фичи. Фичи, которые предназначены для отдельного пользователя, попадают в план Core/Free, фичи для менеджеров попадают в Starter/Bronze, для директоров — в Premium/Silver и для высшего руководства — в Ultimate/Gold. На нашей странице ценообразования мы объясняем:


Фича попадает в план, основываясь на том, кому она на самом деле будет важна. В этом есть смысл, так как более дорогому плану нужен покупатель более высокого уровня.

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


Это событие знаменует собой важную веху в наших усилиях по развитию более тесного сотрудничества в сообществе и по выводу нашего единого инструмента для жизненного цикла DevOps на новый уровень. От управления дизайном до пакетных менеджеров, от управления несколькими кластерами Kubernetes до подключения связанных тикетов — мы стараемся предоставить пользователям GitLab все необходимое для планирования, сборки, развертывания и обеспечения безопасности их приложений.


Недостаточно просто говорить об этом — нужно идти этой дорогой


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


Мы надеемся раскрыть творческий потенциал каждого


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


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


Что перемещается



Перемещаются фичи стадий Plan, Create, Verify, Package, Release, Configure и Defend. Это действительно много фич. Хотя мы уже обозначили все фичи, которые готовы к перемещению в Core/Free, нам нужна ваша помощь, чтобы переместить их.


Работа по перемещению реального кода в открытую часть базы кода определена в тикетах, ссылки на которые мы собрали в этом посте. Эти тикеты войдут в бэклог каждой из команд соответствующих продуктов и будут рассматриваться в порядке приоритетности с учетом разработки новых функций. Если наличие этой функциональности в Core/Free важно для вас, мы приглашаем вас внести свой вклад в ускорение процесса. Мы не просто разрешаем перенести этот код — мы просим вас помочь перенести его.


Синхронизируйте вашу совместную работу на стадии Plan


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


  • Связанные тикеты: связывайте тикеты, которые имеют отношение друг к другу.
  • Экспорт тикетов: Экспортируйте тикеты из GitLab в виде CSV и получайте их в виде вложения в дефолтном уведомлении на электронную почту.
  • Режим фокуса на доске задач (в русской локализации GitLab «доска обсуждений»): Используйте этот инструмент для планирования, организации и визуализации рабочего процесса для фичи или релиза продукта. Его можно использовать как доску Kanban или Scrum.

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


Перемещаемая фича Тикет GitLab
Связанные тикеты gitlab-org/gitlab#212329
Экспорт тикетов gitlab-org/gitlab#212330
Режим фокуса на доске задач gitlab-org/gitlab#212331
Служба поддержки gitlab-org/gitlab#212332

Создавайте лучший код и используйте всю мощь веток на стадии Create


Машина, которую вы используете, не должна усложнять процесс разработки. Мы рады предоставить две фичи для разработки в окружениях «web-first»:



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


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


Перемещаемая фича Тикет GitLab
Веб-терминал для for Web IDE gitlab-org/gitlab#211685
Синхронизация файлов с веб-терминалом gitlab-org/gitlab#211686
Управление дизайнами gitlab-org/gitlab#212566

Поднимите качество кода на новый уровень на стадии Verify


Отчеты по качеству кода в мерж-реквестах (в русской локализации GitLab «запросы на слияние») теперь будут с открытым кодом. Сохранить код вашего проекта простым, читаемым и легким для внесения в него изменений — трудно; отчёты по мерж-реквестам помогут вам в этом.


Перемещаемая фича Тикет GitLab
Качество кода gitlab-org/gitlab#212499

Сборка и публикация пакетов на стадии Package


Мы поставляем набор менеджеров пакетов, чтобы все ваши пакеты могли оставаться в одном месте:



Перемещаемая фича Тикет GitLab
Менеджеры пакетов gitlab-org&2867

Непрерывная поставка станет проще на стадии Release


С четырьмя невероятными фичами стадии Release, переходящими в Core/Free, вы можете быть настолько уверены в своих релизах, что станете развертывать по пятницам (но это не точно).


  • Канареечные развертывания помогут применить новую версию вашего приложения к небольшой части ваших подов.
  • Инкрементальное развертывание позволяет сначала проверить, как ведет себя новая версия вашего приложения, прежде чем увеличивать развертывание до 100%.
  • Переключаемые фичи позволяют вам поставлять проект в разных вариантах, динамически переключая определенные фичи.
  • Панели развертывания предлагают сводное представление текущего состояния каждого окружения CI, работающего под управлением Kubernetes. Вы можете наблюдать за ходом и статусом развертывания, под за подом, из ваших существующих рабочих процессов без необходимости доступа к Kubernetes.

Перемещаемая фича Тикет GitLab
Канареечные развертывания gitlab-org/gitlab#212319
Инкрементальное развертывание gitlab-org/gitlab#212316
Переключаемые фичи gitlab-org/gitlab#212318
Панели развертывания gitlab-org/gitlab#212320

Поддержка нескольких кластеров Kubernetes на стадии Configure


С поддержкой нескольких кластеров Kubernetes вы сможете легко развертывать различные окружения, например промежуточное (staging) и продакшн, в различных кластерах Kubernetes. Это позволяет обеспечить строгое разделение данных.


Перемещаемая фича Тикет GitLab
Поддержка нескольких кластеров Kubernetes gitlab-org/gitlab#212229

Укрепление безопасности приложений на стадии Defend


Защитите свои приложения и инфраструктуру от вторжений системы безопасности. Сетевые политики для безопасности контейнеров будут доступны всем пользователям. Благодаря этому вы можете установить сетевые политики в управляемые GitLab кластеры Kubernetes, чтобы ограничить взаимодействие между подами Kubernetes.


Перемещаемая фича Тикет GitLab
Сетевые политики для безопасности контейнеров gitlab-org/gitlab#212571

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




Оригинальный англоязычный пост: 18 GitLab features are moving to open source.


Над переводом с английского работали cattidourden, ainoneko и rishavant.