Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику.
Недавно мы сделали то, о чём грезят все программисты и дизайнеры — переписали всё с нуля: полный редизайн нашего сайта и написание «движка» с чистого листа. Ниже поведаем о мотивации и процессе миграции с онлайн-CMS на статику.
Продолжаю серию статей, посвященных настройке непрерывных локализаций. Первую вы можете найти здесь. В этой статье я расскажу, как интегрировать связку Serge-Smartcat-GitLab и настроить конфигурационные файлы Serge на примере тестового проекта. Инструкция для Ubuntu.
Результатом выполнения сборки Vagrant будет виртуальная машина с Ubuntu, на которую установлен Serge с плагином Smartcat. Все необходимые файлы будут скопированы, ssh-ключ — создан. Вы можете сразу переходить к настройке проекта и запуску приложения.
Казалось бы, небольшая ошибка — случайно передать учетные данные в общий репозиторий. Однако последствия могут быть серьезные. Как только злоумышленник получит ваш пароль или API-ключ, он захватит вашу учетную запись, заблокирует вас и обманным путем использует деньги. Кроме того, возможен эффект домино: доступ к одной учетной записи открывает доступ к другим. Ставки высоки, поэтому чрезвычайно важно узнавать об утечке секретов как можно скорее.
В этом релизе мы представляем опцию обнаружения секретов в рамках нашего функционала SAST. Каждый коммит сканируется в задании CI/CD на наличие секретов. Есть секрет — и разработчик получает предупреждение в мердж-реквесте. Он на месте аннулирует утекшие учетные данные и создает новые.
Репликация — не бэкап. Или нет? Вот как мы использовали отложенную репликацию для восстановления, случайно удалив ярлыки.
Специалисты по инфраструктуре на GitLab отвечают за работу GitLab.com — самого большого экземпляра GitLab в природе. Здесь 3 миллиона пользователей и почти 7 миллионов проектов, и это один из самых крупных опенсорс-сайтов SaaS с выделенной архитектурой. Без системы баз данных PostgreSQL инфраструктура GitLab.com далеко не уедет, и что мы только не делаем для отказоустойчивости на случаи любых сбоев, когда можно потерять данные. Вряд ли такая катастрофа случится, но мы хорошо подготовились и запаслись разными механизмами бэкапа и репликации.
Репликация — это вам не средство бэкапа баз данных (см. ниже). Но сейчас мы увидим, как быстро восстановить случайно удаленные данные с помощью отложенной репликации: на GitLab.com пользователь удалил ярлык для проекта gitlab-ce
и потерял связи с мерж-реквестами и задачами.
С отложенной репликой мы восстановили данные всего за 1,5 часа. Смотрите, как это было.
Благодаря Static Application Security Testing (SAST) GitLab сканирует код и помогает обнаружить потенциальные уязвимости еще в конвейере. В релизе 11.8 мы добавляем в список поддерживаемых SAST языков JavaScript, на основе существующей поддержки node.js. Теперь можно просканировать любые файлы JavaScript, статические скрипты и HTML. Важной практикой в DevSecOps сейчас является сканирование изменений при каждом коммите, и с этим обновлением SAST мы покрываем один из самых популярных веб-языков, помогая пользователям раньше обнаруживать риски в коде на JavaScript.
Я менеджер продуктов на GitLab. Обычно занимаюсь стадией планирования в жизненном цикле DevOps. Я пришел в ноябре 2016 и с тех пор любуюсь, какими семимильными шагами развивается GitLab как продукт и как команда. Многие новички спрашивают меня за кофе о культуре GitLab, особенно об удаленке, ведь мы только так и работаем. Со временем мои взгляды менялись, и я хочу рассказать, почему удаленка кажется мне не препятствием, а конкурентным преимуществом. Во всяком случае, для GitLab.
*автор иллюстрации: carmen_dorin
Функция статического тестирования безопасности приложений GitLab (SAST) сканирует исходный код и помогает обнаружить потенциальные угрозы безопасности на ранних стадиях пайплайна. В версии 11.8 мы добавили опцию поддержки JavaScript в SAST в плюс к существующей опции поддержки node.js. Теперь возможно сканирование любых файлов JavaScript, например статических скриптов и HTML. Основным методом DevSecOps является сканирование изменений кода при каждом коммите, и благодаря этому изменению мы охватываем один из самых популярных веб-языков, помогая вам как можно раньше выявлять риски JavaScript.
В этом релизе GitLab мы серьезно улучшили Pages, и среди новшеств — 2 ключевых усовершенствования. Во-первых, мы реализовали поддержку GitLab Pages для проектов в подгруппах, обеспечив возможность публикации содержимого этих проектов в сети. GitLab 11.8 также объединяет наши наиболее популярные шаблоны для Pages, и, таким образом, пользователи могут начать работу в один клик.
Ошибки приложений предоставляют важную информацию о состоянии приложения и могут помочь обнаружить проблемы, прежде чем о них сообщат пользователи. GitLab 11.8 отображает последние ошибки непосредственно в проекте: теперь обнаружить их и принять соответствующие меры намного быстрее и проще.
На примере gitlab бота я покажу, каким образом можно автоматизировать процесс релиза для serverless функций через автоматическое их обновление из git репозитория. Переходим от игр к практической разработке на serverless. Читать полностью »
GitLab 11.7 представляет Релизы для планов начиная с Core. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.
GitLab 11.7 выпускает Releases в GitLab Core. Теперь у пользователей есть снэпшоты релиза, включающие не только исходный код, но и все связанные артефакты. Больше не надо вручную собирать исходный код, выходные данные сборки и прочие метаданные или артефакты, связанные с выпущенной версией вашего кода. Кроме того, Releases — основа для более широкого и надежного взаимодействия релизов в будущем.
Multi-level Child Epics — это новейшее дополнение к управлению портфелем GitLab, доступное в Ultimate. Child Epics позволяют создавать многоуровневые рабочие структуры, помогая управлять более сложными проектами и рабочими планами. Теперь эпик содержит как задачи, так и эпики. Такая структура обеспечивает прямую связь между планируемыми и реализуемыми задачами для их внедрения.
Gitlab 11.7 Premium поставляет реестры NPM непосредственно в GitLab, предоставляя стандартный, более безопасный способ совместного использования и контроля версий пакетов NPM между проектами. Просто поделитесь именем пакета, а NPM и GitLab обработают все остальное в одном интерфейсе!