Ответ
Да, но в контексте DevOps это был в основном legacy-стек, который требовал поддержки и модернизации инфраструктуры. Мой опыт с PHP связан со следующими задачами:
- Автоматизация деплоя: Писал и поддерживал скрипты на PHP (часто в связке с Bash), которые выполняли последовательность действий для деплоя монолитных PHP-приложений (например, на Symfony или Laravel) — синхронизацию кода, выполнение миграций БД, очистку кеша.
- Интеграция с CI/CD: Настраивал пайплайны (в Jenkins или GitLab CI) для PHP-проектов, которые включали этапы: запуск статического анализатора
phpstan, тестовphpunit, сборки Docker-образов с PHP-FPM и деплоя в k8s или на виртуальные машины. - Инструменты мониторинга: Создавал простые скрипты для сбора кастомных метрик (например, количество фоновых задач в очереди) и их отправки в Prometheus через Pushgateway или в виде HTTP-эндпоинта для scraper'а.
Пример скрипта для проверки состояния деплоя (проверяет доступность health-чека после обновления):
<?php
$url = 'http://app-service/health';
$retries = 10;
$delay = 5;
for ($i = 0; $i < $retries; $i++) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200 && json_decode($response)->status === 'UP') {
echo "Deployment successful.n";
exit(0);
}
sleep($delay);
}
echo "Deployment health check failed.n";
exit(1);