Gitlab CI-CD для запуска тестов в Laravel

В этой статье будет рассмотрена настройка Gitlab CI-CD для автоматического запуска ваших тестов в Laravel-приложении. Кроме тестов также запустим проверку оформления php-кода и статический анализ через phpstan. Перед запуском проверок будет создаваться Docker-образ с php нужной версии и необходимыми расширениями. Наши тесты будут работать с базой Mysql.

Читать далее

Настройка Laravel + React с docker и без

Ранее описывалась настройка docker окружения для проекта на базе Laravel и Vue. В этой статье произведем настройку web-приложения с использованием Laravel в качестве backend-части и React в качестве frontend. Так как кому-то может пригодиться создание такого приложения без docker, то начнем с настройки на машине с PHP 8.1 и NPM 8. Затем тот же код запустим в docker использованием docker compose для управления контейнерами.

Читать далее

Настройка docker для Laravel и Vue на одном домене

Ранее здесь уже описывалась настройка docker для приложения на базе Laravel и Vue с использование поддомена. В том материале backend с Laravel размещался на поддомене, а frontend с Vue – на основном домене. Однако такая конфигурация может иметь свои недостатки (например, проблемы с CORS). В данной статье попробуем настроить для локальной работы такое же окружение, но на одном домене. Чтобы у Laravel работали одни маршруты, а у Vue – другие.

Читать далее

Доступ http из одного проекта docker-compose к другому

В данный момент мы часто имеем ситуацию, когда каждый отдельный проект имеет настройки docker контейнеров, что производятся через конфигурационный файл docker compose. Пока обращение контейнеров друг к другу происходит в рамках одного такого файла конфигурации, все понятно. Но что, если мы имеем, скажем 2 или 3 подпроекта, которые должны общаться по сети (например по http)? Это могут быть, как вариант, микро сервисы. В данной статье будет показано как настроить такое взаимодействие.

Читать далее

Mkcert – https для локального сайта

Чтобы иметь возможность работать с локальной копией веб приложения через HTTPS необходим доверенный SSL сертификат. Сделать такой можно, например, через openssl: выпустить сертификат, заверить локальным корневым и внести в хранилище доверенных сертификатов. Однако это не так быстро в реализации, как хотелось бы, не так безопасно и несет свои неудобства в браузерах. Лучше для таких целей использовать mkcert.

Читать далее

Настройка docker для laravel и vue проекта

Работая над несколькими проектам можно довольно быстро столкнуться с тем, что версии нужного ПО на рабочей машине подходят не ко всем проектам. В последние годы все шире и шире используется dockerdocker-compose для оркестрации контейнеров), чтобы настроить окружение для работы над проектом локально и решить проблему существования разных версий нужных пакетов одновременно. Дабы не думать над каждой опцией настроек каждый раз удобно иметь под рукой какие-либо заготовки. В этой статье будет представлена одна из них.

Читать далее

Виртуальная машина с Apache и php 5.3

Разработчики всегда стараются идти в ногу со временем. Однако часть работающих и приносящих прибыль проектов, к сожалению, остаются на старом стеке технологий. Таких, например, как Apache и php 5.3.

Новые дистрибутивы Linux, к сожалению, уже не имеют в своих репозиториях такой старой версии php как 5.3. Готовые сборки docker для php разработчиков, такие как Laradock, тоже не поддерживают столь старые версии. Что же делать, если необходимо поднять окружение разработчика для таких проектов?

Читать далее

Laradock

Laradock – это готовая сборка образов Docker для разработки php-приложений на Laravel. В то время, как Homestead использует виртуальную машину, Laradock использует все плюсы Docker.

Эта статья – короткая инструкция по поднятию Laradock на host-машине с Linux Mint (Debian, Ubuntu).
Для начала вам необходимо установить Docker CE и Docker Compose. Затем можно приступать к шагам, описанным в статье.

Читать далее

Docker Compose

Docker Compose – это инструмент, который позволяет запустить несколько контейнеров Docker одной командой. Также он упрощает процессы управления Docker-контейнерами (настройка связей и объемов внутри контейнеров, запуски закрытие).

Читать далее

Gulp

Gulp – это тоже система организации задач, такая же как и grunt, но появилась позже него. Gulp так же устанавливается как npm пакет.

Базовые отличия в этих двух системах следующие:

Читать далее

Grunt

Grunt – это система организации рутинных задач, которые делает веб разработчик. Примеры таких задач – минификация кода, компиляция, запуск unit-тестов, линтинг.

Задачи, которые необходимо автоматизировать прописывается командами в специально файле Gruntfile.js. После чего с помощью команды grunt <имя задачи> можно выполнить любую задачу (последовательность команд). Часто используемую задачу (например сборку всех js и css файлов) можно сделать задачей по-умолчанию и запускать просто командой grunt.

Читать далее