TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #6251 2.28K
Проект начинался как обычное PHP-приложение, а закончился полностью автоматизированным CI/CD-пайплайном для PHP-микросервисов.
По дороге — YAML-ад, конфликты портов, падения пайплайнов и неожиданные различия macOS vs Linux.

🧱 Что строилось
PHP 8.2 (FPM) — backend-сервисы
Nginx — reverse proxy / API Gateway
MySQL + Redis — данные
Docker Compose — оркестрация
GitHub Actions — CI/CD
Prometheus + Grafana — мониторинг
Жёстко зафиксированные порты: 9000 / 9001 / 8081 / 3000 / 9090

💥 Что сломалось первым
Docker Compose: services must be a mapping → YAML не прощает отступы
Конфликты портов → без документации сервисы воюют
GitHub Actions: .env.example есть локально, но не в Git
CRLF vs LF → пайплайн падает из-за line endings

🔧 Что в итоге сработало
Переменные окружения + дефолты по портам
Healthchecks на уровне Docker и CI
Fallback-логика для .env в CI
Отдельный скрипт проверки живости сервисов
Мониторинг не «потом», а сразу

🧠 Ключевые выводы
Infrastructure as Code ≠ магия — тестируется и ревьюится как код
CI/CD — это быстрый фидбек, а не просто «зелёная галочка»
Порты — ограниченный ресурс, их нужно резервировать заранее
12-Factor App работает и для DevOps, не только для приложений
Наблюдаемость важнее героизма при падении продакшена

🚀 Прод
Zero-downtime deploy
Масштабирование сервисов
Бэкапы перед обновлением
Автоматическая проверка состояния

Это не история про «идеальный стек».
Это история про боль → дисциплину → устойчивую систему.

💬 А как вы решаете конфликты портов?

👉 Ссылка на статью

Библиотека пхпшника
More from @phpproglib
  1. Sep 23, 2026🛠 Symfony 8.2 научился автоматически генерировать JSON Schema для конфигурации приложения…
  2. Sep 23, 2026🚀 Свежий релиз Laravel 13 с набором улучшений и исправлений ✅ добавлена поддержка valkey:…
  3. Sep 21, 2026⚡️ PHP 8.6 выйдет 19 ноября 2026 года. Сейчас версия находится в beta. Самые заметные изме…
  4. Sep 20, 2026❓ Какие существуют проблемы в многопоточной среде? Основные проблемы многопоточности: 1️⃣…
  5. Sep 19, 2026🌞 В Symfony 8.2 появилось 29 новых Bundle — теперь компоненты вроде Mailer, Messenger и C…
  6. Sep 19, 2026А вы уже забрали свой подарок ко Дню программиста? К вашему профессиональному празднику Tp…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →