GitLab
-
CI/CD конвейеры для Kubernetes с использованием GitLab CI
Современная разработка программного обеспечения требует быстрых циклов развертывания, масштабируемости и устойчивости. Kubernetes стал основной платформой для оркестрации, обеспечивая управление масштабируемыми контейнеризованными приложениями. В сочетании с конвейерами CI/CD GitLab развертывания Kubernetes становятся автоматизированными, повторяемыми и надежными. В этой статье рассматриваются технические детали настройки конвейеров CI/CD для Kubernetes с использованием GitLab CI. Предварительные требования Перед настройкой вашего конвейера CI/CD убедитесь, что выполнены следующие требования: Учетная запись GitLab: Доступ к репозиторию GitLab, в котором будет настроен конвейер CI/CD. Кластер Kubernetes: Существующий кластер Kubernetes,…
-
Реализация платформы IaC с использованием Terraform, Ansible и GitLab
В связи с тем, что необходимо создавать инфраструктуру в нескольких средах, сохраняя при этом стандартизацию и эффективное мониторинг, важно обеспечить безопасное размещение этих средств. Для достижения этого важно принять подход к неизменяемой инфраструктуре, где среды обеспечиваются как код. Целью этой статьи является демонстрация возможного подхода для достижения этого, используя структуры GitLab для обеспечения шаблонов и стандартов, Terraform для применения и поддержания стандартов на серверах, и Ansible для программного обеспечения и настройки, используя общий модель ролей в репозиториях. Чтобы управлять состоянием…
-
Как перенести состояние Terraform в GitLab CI/CD
Как профессионал в области программного обеспечения, работающий с Infrastructure as Code (IaC), скорее всего, вы много работаете с Terraform. Когда вы помогаете новым клиентам использовать IaC, обычно стараетесь упростить процесс, но управление файлом состояния Terraform является первой проблемой, с которой вы сталкиваетесь. По сути, Terraform state содержит конфиденциальную информацию, которую не следует хранить в системе контроля версий, но в то же время это не масштабируется, если у вас есть несколько пользователей, работающих над одним и тем же состоянием Terraform. Ответ…
-
Как выполнять тесты E2E на Cypress с использованием CI/CD в GitLab
Cypress — это фреймворк для end-to-end тестирования, используемый для проверки веб-приложений. Это open-source фреймворк на основе JavaScript, который позволяет разработчикам писать и запускать автоматические тесты для своих веб-приложений простым и удобным способом. Cypress предлагает быстрый, надежный и удобный опыт тестирования для веб-разработчиков. Он позволяет разработчикам писать тесты на JavaScript, и его мощные функции включают автоматическое перезагрузку тестов, отладку во времени и интерактивную отладку. Cypress также предоставляет панель для просмотра результатов тестов и аналитики. GitLab интегрируется с Cypress через свои CI/CD…
-
Развертывание приложений Heroku на этапах стадии и производства с использованием GitLab CI/CD
В предыдущей статье мы рассмотрели, как автоматизировать развертывание на Heroku с использованием GitLab CI/CD. Этот набор развертывал приложение в его производственной среде каждый раз, когда мы pushed код в ветку main. В этой статье мы рассмотрим немного более тонкий подход: Что если у нас есть несколько сред? Большинство инженерных организаций используют по крайней мере три среды: локальную среду разработки, тестовую среду и производственную среду. Additionally, некоторые инженерные команды следуют стратегии ветвления Gitflow, где у них есть ветка dev и ветка…
-
Как использовать GitLab для одновременного выполнения заданий (Часть 1)
Давайте поговорим о GitLab. Веб-платформа для DevOps GitLab предлагает полный набор инструментов для разработки программного обеспечения, контроля версий, непрерывной интеграции, доставки (CI/CD) и коммуникации. Основанная на Git, известной распределенной системе контроля версий, она предоставляет централизованное решение для управления репозиториями. GitLab позволяет командам эффективно управлять своими проектами по разработке программного обеспечения, отслеживать изменения и общаться по поводу кода. Он предлагает инструменты для управления проектами, а также возможности, такие как репозитории кода, отслеживание проблем, проверка кода, непрерывная интеграция и развертывание. Основные функции…
-
Предварительный просмотр GitLab Pages
Когда я пишу блоги, связанные с Apache APISIX, я хочу, чтобы мои коллеги сначала их просмотрели. Однако, поскольку это мой блог, и я смешиваю личные и деловые посты, я хочу их сохранить от репозитория. Мне нужен предварительный просмотр, доступный только для нескольких человек, что-то вроде предварительного просмотра Vercel. Я использую GitLab Pages, и нет такой функции “из коробки”. I tried two methods: GitHub gists and PDFs. Both have issues. Gists не отображаются так красиво, как финальная страница. Я попытался улучшить…
-
GitOps: Flux против Argo CD
GitOps представляет собой методологию разработки и управления операциями, использующую Git в качестве источника истины для конфигураций развертывания. Она заключается в хранении желаемого состояния приложения или инфраструктуры в репозитории Git и использовании рабочих процессов на основе Git для управления и развертывания изменений. Две популярные открытые системы, которые помогают организациям реализовать GitOps для управления своими приложениями Kubernetes, это Flux и Argo CD. В этой статье мы подробнее рассмотрим эти инструменты, их преимущества и недостатки, а также способы их настройки. Прочитайте связанный учебник…
-
Почему резервное копирование GitHub, GitLab или Bitbucket важно — риски потери данных
Если ваша организация использует системы контроля версий, такие как GitHub, GitLab и Bitbucket, вы, вероятно, понимаете, что код как интеллектуальная собственность является наиболее ценным активом в вашей компании — вы и ваша команда потратили тысячи часов (и денег) на написание, поддержку и улучшение проектов. Как технический директор, менеджер по ИТ, владелец программной компании или руководитель команды — вы, вероятно, можете представить, сколько это будет стоить, если потерять код, над которым ваша команда работала месяцами. Но возможно ли это? Утечки данных,…