GitLab выпустила версию 8.8
Наш третий GitLab Саммит, прошел на этот раз в Остине, штат Техас, и мы выпустили наш 54-й релиз 22-го числа, несмотря на воскресенье. GitLab 8.8 готов к работе с улучшенным GitLab CI, повышенной производительностью, удобными шаблонами и многим другим.
Самой ценной персоной (MVP) этого месяца является Мэтт Оукс, за вклад в работу по скрытию текстового файла различий, по-умолчанию на ветке с .gitattributes.
Спасибо Мэтт!
Последовательности развертывания (Pipelines)
GitLab имеет мощную встроенную систему поддержки действий непрерывной интеграции (CI). Нет необходимости переключаться в другое приложение, не нужно манипулировать разрешениями и доступом, просто используйте GitLab.
Ранее Вы уже могли настраивать последовательности развертывания. GitLab 8.8, GitLab CI будут визуализировать эти последовательности, и, таким образом, Вы будете видеть, как обстоят дела.
В новом представлении Pipeline, Вы увидите все связанные сборки для одного коммита и результат каждого этапа вашей последовательности развертывания. Это позволяет быстро увидеть ошибки и исправить их.
По-умолчанию, GitLab предложит классические этапы сборки, тестирования, развертывание (как раньше), но Вы можете свободно определить любой другой этап в .gitlab-ci.yml файле.
Контейнер реестра GitLab
В этом релизе мы переделали GitLab CI. Во-первых, теперь он идет с последовательностями развертывания (pipelines) и контейнером реестра GitLab. Контейнер реестра GitLab — безопасная и частная регистрация для Docker компонент. Это не просто автономный реестр; он полностью интегрирован с GitLab. Фактически, контейнер реестра — это первая Docker регистрация, которая полностью интегрирована с управлением Git-репозитория и поставляется с коробкой GitLab 8.8. Так что, если вы уже обновились, у вас есть эта функция! Наш интегрированный Контейнер реестра не требует дополнительной установки. Он позволяет легко загружать и выгружать компоненты из GitLab CI. И это бесплатно. Мы были так рады этой функции, что написали целый пост об этом в нашем блоге.
Шаблоны .gitignore
Время от времени, вы используете какую-то личную информацию, секретные документы или просто мусор в каталогах, за которыми следит Git. В таких ситуациях, вы можете добавлять файлы и каталоги, которые хотите игнорировать, в файл .gitignore.
С GitLab 8.8, создание файла .gitignore стало гораздо проще. При создании файла в веб-интерфейсе, GitLab теперь автоматически покажет вам выпадающий список, в котором вы можете выбрать из множества различных шаблонов тот, который будете использовать для вашего .gitignore файла.
Конечно, Вы все еще можете изменить его по своему вкусу.
Улучшенный GitHub импортер
Кроме того, в GitLab 8.8 мы улучшили наш GitHub импортер. Существующий GitHub импортер уже мог импортировать такие вещи, как данные репозитория, проблемы, wiki-страницы, вехи (milestones), и наименования. С GitLab 8.8 импортирование стало более надежным, и теперь, импортер также будет подтягивать запросы без источника или целевой ветки.
Новые клавиши быстрого доступа
Клавиши быстрого доступа являются отличным способом быстрого достижения цели. В GitLab 8.8 мы добавили две клавиши быстрого доступа и улучшили клавишу вызова помощи:
В проекте: i для перехода к странице новой проблемы.
В проблемах: l чтобы открыть выпадающий список наименований, относящихся к существу дела.
Глобально: Удерживая некоторое время? теперь вы переключите модальное окно.
Переключатель «пробельных» изменений
Иногда, когда разработчики сдают свои коммиты, в них содержится ряд несущественных «пробельных» изменений на ряду с важными изменениями кода. Мы добавили кнопку в пользовательском интерфейсе, которая позволяет скрыть эти незначительные изменения в ревизиях.
Проверка здоровья
Программное обеспечение может быть намного проще, чем люди. Чтобы увидеть здоров ли GitLab, ни один врач не требуется. Просто укажите свой мониторинг в / health_check и ищите статус 200.
Эта конечная точка может предоставить время бесперебойной работы служб мониторинга таких, как Pingdom, Nagios и NewRelic.
Улучшения пользовательского интерфейса
В этом релизе мы вновь улучшили множество больших и маленьких функций.
Прежде всего, вы увидите, что страницы группы и профиля используют новую парадигму навигации. Левая боковая панель будет оставаться статичной, а верхняя панель будет предоставлять вам навигацию на более глубоком уровне.
Мы считаем, что это изменение сделает передвижение по GitLab проще.
Другие изменения
Данный релиз имеет больше улучшений, в том числе исправления безопасности. Пожалуйста, ознакомьтесь с Changelog, чтобы увидеть все изменения.
Скрытие текстового файла различий через .gitattributes
Когда вы отмечаете файл как non-diffable в файле .gitattributes, GitLab теперь будет соблюдать это правило и не показывать различий.
Спасибо Мэтту Оукс за этот вклад!
Ссылки на вехи (milestone) в Markdown
Теперь вы можете ссылаться на вехи в Markdown!
Для справки, веха это одно слово, используйте % с именем. Например: %8.8. Больше слов? Оберните это в »: %«Cool milestone».
Конечно, это также работает в кросс-проектах и ссылках:
У вас есть еще какие-то идеи для расширения нашего Markdown? Дайте нам знать!
Инструкция апгрейда
Обновление с 8.7.x до 8.8.0 не требует времени простоя.
Примечание: Мы предполагаем, что вы обновляете с самой последней версии. Если нет, то следует также проверить, какие промежуточные версии вы пропускаете. Если вы производите обновление с версии GitLab до 8.0, у вас должен быть включен CI, в первую очередь вы должны обновить до GitLab 8.0.
Обратите внимание, что, по-умолчанию, пакеты Omnibus будут остановлены, начнётся миграция, и затем они запустятся заново, независимо от того, какое «большое» или «маленькое» будет обновление. Такое поведение может быть изменено путем добавления /etc/gitlab/skip-auto-migrationsфайла.
Удаление функции «Fog gem»
Функция «Fog gem» будет удалена в 8.9 (в следующем месяце). В настоящее время она используется для подключения службы резервного копирования GitLab к различным провайдерам хранения, но лишь немногие из «micro-gems» на самом деле используются. Мы намерены включить только функцию «fog-core» и поддержку для загрузки резервных копий на AWS, Google Compute и Microsoft Azure в 8.9. Если вы делаете резервное копирование GitLab, в других службах, пожалуйста, откройте проблему, таким образом, мы можем рассмотреть запрос о включении вашего конкретного сценария использования.
Изменения в bin/web и bin/background_jobs
Если вы установили GitLab из источника с помощью пользовательских сервисов SystemD/ Upstart, или, если вы являетесь сопровождающим пакета для GitLab, то вы должны знать, что bin/web и bin/background_jobs теперь выполняют требования при запуске Unicorn и Sidekiq соответственно. Это имеет значение только, если вы настроили систему наблюдения для подсчета количества вилок (forks) во время запуска. Официальный сценарий GitLab инициализации и наши пакеты Omnibus не влияет на это изменение.
GitLab Mattermost 3.0 не включен в релиз 8.8
Mattermost 3.0 — основной выпуск, требующий ручной модернизации и поэтому не включен в 8.8 omnibus-gitlab пакет. Существующим пользователям GitLab Mattermost придется подождать, пока выйдет GitLab 8.9, где будет автоматизировано обновление до Mattermost 3.1. Если вы заинтересованы в прочтении о том, как это решение будет реализовано, тогда проверьте этот вопрос на GitLab.com. Кроме того, там же будет обсуждаться обновление дизайна для следующего релиза поэтому, пожалуйста, поделитесь там своими впечатлениями.