DevSpace 6 уже здесь!

Рич Барроуз

Мы рады сообщить, что вышла версия 6 DevSpace. Спасибо всем, кто использовал альфа- и бета-версии и оставил нам отзывы.

Если вы не знакомы с DevSpace, это инструмент с открытым исходным кодом, позволяющий оптимизировать и ускорить рабочие процессы разработки Kubernetes. Если вы создаете приложения или сервисы, которые работают в кластерах Kubernetes, DevSpace может вам помочь. DevSpace позволяет вам и вашей команде определять рабочий процесс в файле devspace.yaml, что означает, что вы можете использовать один и тот же рабочий процесс и ссылаться на конфигурацию, чтобы точно знать, как он работает. DevsSpace имеет и другие замечательные возможности, такие как горячая перезагрузка, которая обновляет код в запущенном dev-контейнере при внесении изменений без необходимости делать новую сборку контейнера.

В DevSpace 6 есть много улучшений, но вот некоторые из них:

Pipelines

Pipelines — это новая функция, которая упрощает управление задачами в вашем devspace.yaml. С помощью конвейеров вы можете упорядочить действия в рабочем процессе и упростить их повторное использование. Конвейеры могут вызывать встроенные функции DevSpace или те, которые вы определите сами, и используют Bash-подобный синтаксис, который должен быть хорошо знаком большинству пользователей.

Вот пример простого процедурного конвейера.

version: v2beta1
name: my-project
pipelines:
  # Override the default devspace dev behavior
  dev:
    run: |-
      # Create a new deployment on the fly with an alpine container
      create_deployments my-simple --set helm.values.containers[0].image=alpine

      # Starts syncing local directory to /app in that container and open a terminal to it
      start_dev my-dev --set imageSelector=alpine 
                       --set sync[0].path=.:/app 
                       --set terminal.enabled=true
Вход в полноэкранный режим Выход из полноэкранного режима

Если вы застряли в использовании трудночитаемых Makefiles или других собственных решений, конвейеры могут сделать ваш рабочий процесс более читаемым и удобным для всей вашей команды.

Подробнее о конвейерах вы можете прочитать в документации.

Импорт

Функция импорта позволяет вам импортировать другие файлы devspace.yaml. Это позволяет вам обмениваться функциями, командами и конвейерами между вашими проектами. Как вы, вероятно, можете себе представить, возможность импортировать эти объекты привносит большую гибкость и композитивность в создание ваших файлов devspace.yaml. Например, вы можете поддерживать библиотеку общих функций, конвейеров и команд DevSpace, которые вы импортируете во все свои проекты.

Импорт занимает всего несколько строк кода в вашем devspace.yaml:

version: v2beta1
imports:
- git: github.com/yourcompany/example-project.git
  tag: v1.2.0
Вход в полноэкранный режим Выход из полноэкранного режима

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

SSH

Многие разработчики считают одной из болезненных проблем устранение неполадок в контейнерах приложений. Новая функция SSH в DevSpace внедряет SSH-сервер, который можно использовать для легкого подключения к запущенному контейнеру. Вы можете подключиться с помощью локальных команд ssh или scp или даже с помощью IDE, поддерживающей SSH-соединения, например, VS Code. DevSpace автоматически добавляет запись в ваш файл .ssh/config и генерирует пару ключей для подключения. Все это можно включить с помощью нескольких строк в файле devspace.yaml:

dev:
  my-dev:
    imageSelector: ubuntu
    ssh: {}
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы даже можете устанавливать точки останова в коде и быстро отлаживать его с помощью представления «Запуск и отладка» в VS Code. При использовании SSH-сервера DevSpace это практически не требует дополнительных настроек.

Подробнее о новой функции SSH читайте в документации.

Прокси-команды

Иногда вам может потребоваться запустить команды в вашем dev-контейнере во время устранения неполадок, но в нем могут отсутствовать такие вещи, как файл kubeconfig или Git-чекауты вашего кода. Хотя можно синхронизировать эти вещи с dev-контейнером, это требует дополнительной настройки и может быть медленным, если у вас большое количество проверок кода.

Новая функция прокси-команд использует SSH-сервер, о котором мы только что говорили, для запуска команд, которые вы выполняете в контейнере, на вашем локальном компьютере. Список конкретных команд для проксирования легко настроить в файле devspace.yaml:

dev:
  my-dev:
    imageSelector: john/devbackend
    terminal: {}
    proxyCommands:
    - command: git
    - command: devspace
    - command: kubectl
Войти в полноэкранный режим Выход из полноэкранного режима

Если вы проводите много времени в своем dev-контейнере, устраняя неполадки, это улучшение качества жизни, которое может сэкономить вам время и головную боль. Более подробную информацию можно найти в документации по командам прокси.

Начало работы с DevSpace 6

DevSpace 6 обратно совместим с предыдущими конфигурациями, поэтому вы можете обновить свой клиент DevSpace в любое время с помощью команды devspace upgrade. После этого вы будете получать подсказку об обновлении каждый раз, когда будете выполнять команду devspace dev. Чтобы начать использовать новые возможности, вам нужно обновить файл devspace.yaml, чтобы использовать новую версию конфигурации, v2beta1.

Ссылку на конфигурацию для DevSpace 6 вы можете найти в документации. Вы также можете посмотреть примечания к выпуску для получения более подробной информации о том, что входит в выпуск, включая изменения в новом формате конфигурации.

Если вам нужна помощь, вы можете открыть проблему на GitHub или присоединиться к каналу #devspace в нашем Slack-сообществе Loft, где мейнтейнеры DevSpace и другие пользователи могут помочь.

Мы надеемся, что новые функции DevSpace будут вам полезны, и ждем ваших отзывов.

Оцените статью
devanswers.ru
Добавить комментарий