На прошлой неделе Константин Ковшенин запустил Sail , инструмент командной строки для развертывания приложений WordPress в облаке DigitalOcean. Проект бесплатен для использования и имеет открытый исходный код. Тем не менее, у него есть планы на улучшенный премиум-опыт в будущем.
Ковшенин назвал скорость и эффективность двумя основными причинами, по которым разработчикам стоит попробовать его новый инструмент. «Вам не нужно бродить по веб-интерфейсу, чтобы запустить новый сервер и установить WordPress. Просто ты sail init. Вам не нужно открывать клиент SFTP GUI для загрузки изменений в ваше приложение. Просто ты sail deploy.
Он также сказал, что, поскольку это простой интерфейс командной строки, он будет хорошо интегрироваться с существующими инструментами и службами разработчика, такими как Gulp, webpack, GitHub Actions и другими.
«Когда дело доходит до хостинга WordPress, я занимаюсь самоделкой, поэтому мне нравится пачкать руки с серверами, кодом, конфигурацией и всем остальным», – написал Ковшенин в своем объявлении . «Я очень давно использую виртуальные серверы в DigitalOcean для небольших проектов WordPress, и это здорово, а также очень доступно».
Он стал раздражаться, выполняя плановое обслуживание и настраивая серверы для новых проектов. Это привело его к тому, что он написал множество сценариев для обработки каждой части этого на протяжении многих лет. За последние пару месяцев он очистил их и упаковал в один инструмент интерфейса командной строки под названием Sail. Он работает в Linux, macOS и Windows.
Хотя он перечисляет некоторые преимущества использования Sail по сравнению с конкурентами в сообщении с объявлением, он считает, что эти преимущества дает использование Sail с другими инструментами разработчика.
«Например, если вы уже используете Git и GitHub, Sail может автоматически развертывать ваше приложение всякий раз, когда вы нажимаете на основную ветку», – сказал он. «Если ваш проект построен с использованием Gulp и webpack, вы можете попросить npm развернуть ваше приложение после успешной сборки».
Инструмент CLI не делает предположений о среде разработки. Разработчики могут использовать любую настройку, к которой они привыкли, например Vagrant / VirtualBox, XAMP / MAMP, Local, Docker или индивидуальную настройку.
«Вы можете использовать его вообще без локальной среды разработки и просто напишите ковбойский код, а Sail поможет вам выполнить развертывание с уверенностью и откатиться назад, когда вы слишком уверены», – сказал он.
Будущее паруса
В краткосрочной перспективе Sail работает только с DigitalOcean. Однако Ковшенин планирует в будущем оказывать поддержку большему количеству провайдеров, поскольку он изучает «более сложные архитектуры». Однако, по его словам, на данный момент это не является приоритетной задачей.
«У DigitalOcean лучшая документация», – сказал он. «Простота их API просто поражает. И эта простота распространяется и на их ценообразование, что сделало этот выбор очевидным ».
Пока инструмент бесплатный, он предложит услугу Sail Premium. В настоящее время для него нет даты запуска. Ковшенин сказал, что он оценивал общий интерес, прежде чем погрузиться в него. Однако у него есть форма регистрации в раннем доступе. Те, кто его использует, получат бесплатные пропуска в период бета-тестирования и, возможно, скидку при запуске.
Прямо сейчас он сосредоточен на создании основных функций Sail, которые, по его словам, всегда будут бесплатными.
«Самая большая новая функция, которая мне сейчас нравится, – это Blueprints», – сказал Ковшенин. «Это будет файл манифеста YAML, который будет описывать желаемую среду и состояние приложения, включая плагины WordPress для установки и активации, темы и настройки, а также любое дополнительное серверное программное обеспечение и конфигурацию, например почту, брандмауэр. и т. д. И чтобы получить все это, вам просто нужно указать файл чертежа sail init».
Цель состоит в том, чтобы позволить пользователям создавать, повторно использовать и даже делиться своими чертежами. Сам Sail даже сделает доступными стандартные конфигурации. Один проект может включать WooCommerce, Stripe, Storefront, Jetpack, кэширование объектов Redis, ретрансляцию почты через MailGun и многое другое.
«Другие функции в списке включают подпроекты, постановку / клонирование, автоматическое и удаленное резервное копирование, профилирование, мониторинг и сканирование вредоносных программ / уязвимостей», – сказал Ковшенин.
Он надеется получить больше отзывов об отсутствующих функциях, которые сделают проект более полезным для других.