(звезда) Вебинар 31.01.2022

Орг. вопросы

Про создание рабочих веток в git: пример создания своей ветки:

(warning) Не советует ставить/использовать OpenServer (т.к. здесь своя среда, отличная от продакшн)

(звезда) Блог преподавателя

https://devenergy.ru/

  • Можно ставим виртуалку по его гайду:

https://devenergy.ru/archives/306

  • +1 инструкция по установке от преподавателя:

https://www.youtube.com/watch?v=cGBggTdDmKI

Нужно: поднять Виртуалку и Докер (как д/з к вебирару), детали ниже (раздел д/з)


Заметки из вебинара

Запускаем команды в Докере

Команды для запуска:

# list of available containsers:
docker images

# list of working NOW containers:
docker ps

# run container:
docker run -d -p 80:80 <image_name>

# check: open on browser:
http://mysite.local/ 

Оркестрация через docker-compose

Пример:

(звезда) В нашем случае: запускаем 3 контейнера: Nginx, php-fpm, Mysql + console (бонусом)

нет смысла делать все в одном контейнере….

(warning) Осн. принцип: 1 процесс = 1 контейнер (т.е. если что-то ляжет, меняем/рестартим только его);

Запуск контейнеров

В Phpstorm кликаем правой кнопкой по docker-compose.yml и выбираем Run:

(звезда) Для дебага — ставим Xdebug и в конфигах указываем, когда его запускать (на дев-площадке) + дебажить через логи также полезно

(звезда) Для докер-проекта: коммитим следующее в гит:

Домашнее задание

Собрать 2 рабочих окружения — на Homestead & Docker

  • Для виртуалки: прислать скриншот рабочей виртуалки и файл homestead.yml

  • Для докера: docker.yml (чтобы можно было запустить docker-app)


Полезные ссылки

В закрытом доступе:

  • Запись вебинара (mp4)

  • Презентация (pptx)

  • Контейнер — исходники

  • Среда — исходники

Список рекомендованной по курсу литературы

  • PHP Standards Recommendations [Электронный ресурс] /. — Электрон. журн. — Режим доступа: https://www.php-fig.org/psr/, свободный

  • Бейтс Б. , Сиерра К., Робсон Э., Фримен Э. Head First. Паттерны проектирования. Обновленное юбилейное издание. – Питер, 2018.

  • Бек Кент, Брант Джон, Фаулер Мартин. Рефакторинг. Улучшение проекта существующего кода /Бек Кент, Брант Джон, Фаулер Мартин; пер. Красиков И. В. — Диалектика, 2017. — 448с.

  • Вайсфельд Мэтт. Объектно-ориентированное мышление /Вайсфельд Мэтт; пер. Черник В. В., науч. ред. Гринчик Н. — сер. Библиотека программиста. — Питер, 2014. — 304с.

  • Гамма Э., Хелм, Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования — СПб.: Питер, 2013.

  • Дорофеев М. Джедайские техники. Как воспитать свою обезьяну, опустошить инбокс и сберечь мыслетопливо /Дорофеев Максим; науч. ред. Рапопорт Татьяна. — сер. МИФ. Личное развитие. — Манн, Иванов и Фербер, 2019. — 368с.

  • Зандстра М. PHP: объекты, шаблоны и методики программирования /Зандстра Мэтт; пер. с анг. Берштейн И. В., науч. ред. Тригуб С. Г. — Вильямс, 2019. — 736с.

  • Кевин Я. PHP и MySQL. От новичка к профессионалу. – Эксмо, 2013.

  • Ким Д. Проект Феникс. Роман о том, как DevOps меняет бизнес к лучшему. – Эксмо, 2015.

  • Котеров Д. Симдянов И. PHP 7 – BHV, 2017.

  • Макконелл С. Совершенный код. Русская редакция, 2017.

  • Мартин, Роберт.С. Чистый код. Создание, анализ и рефакторинг /Роберт.С. Мартин; Сергиенко Ю. — Санкт-Петербург: Питер, 2018. — 464с.

  • Томас Д., Хант Э. Программист-прагматик. – Питер Пресс, 2017.

  • Шоттс Уильям. Командная строка Linux. Полное руководство /Шоттс Уильям; пер. с анг. Киселев А., научн. ред. Тульцева К. — сер. Для профессионалов. — Питер, 2020. — 544с


Домашнее задание

Тема: Работа с окружением

Цель:

Познакомиться с различными типами организации окружения. Осознать их применимость и необходимость. Научиться настраивать рабочее окружение для своих проектов с использованием автоматизации.

Описание/пошаговая инструкция выполнения домашнего задания:

Docker

  • Установить Docker себе на локальную машину

  • Описать инфраструктуру в Docker-compose, которая включает в себя:

    • nginx (обрабатывает статику, пробрасывает выполнение скриптов в fpm)

    • php-fpm (соединяется с nginx через unix-сокет)

    • redis (соединяется с php по порту)

    • memcached (соединяется с php по порту)

  • БД подключать как отдельную VM (можно на базе Homestead),

    • либо как контейнер (но тогда не забудьте про директории с данными)

Виртуальные машины

  • Развернуть Homestead VM при помощи Vagrant и VirtualBox

  • Сайт должен отвечать на доменное имя application.local

  • Должна быть поддержка проброса директорий

Критерии оценки

Каждый RUN в Dockerfile будет создавать промежуточный образ при сборке.

Помните об этом. Желательно снизить их использование до минимума.

  1. Docker — 5 баллов

  2. Виртуалки — 5 баллов


To be continued …

В следующих двух статьях — собственно будут мои пошаговые гайды выполнения этих двух задач.

Tags

Нет комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.