Skip to content

GMG Site Operations

Обновлено: 2026-06-22

Runbook для текущей эксплуатации отдельного проекта gmg.

1. Активный контур

  • Workspace: /home/admin/workspace/gmg
  • Live host: https://gmg.landing.designcorp.eu/
  • Live root: /var/www/gmg
  • Nginx config: /etc/nginx/sites-available/gmg.landing.designcorp.eu
  • WordPress preview host: https://wp.gmg.landing.designcorp.eu/
  • WordPress preview runtime: /opt/designcorp/gmg/wp2
  • WordPress preview nginx config: /etc/nginx/sites-available/wp.gmg.landing.designcorp.eu

2. Важная особенность текущей доставки

Утвержденный static site https://gmg.landing.designcorp.eu/ является источником правды для переноса в WordPress. Сайт собирается из репозитория gmg через GitHub Actions на main и деплоится в /var/www/gmg.

  • не править /var/www/gmg вручную;
  • для static reference использовать GitHub Actions workflow Build and deploy GMG site;
  • перед переносом страницы в WordPress сверять ее с live reference https://gmg.landing.designcorp.eu/.

WordPress + Elementor preview host https://wp.gmg.landing.designcorp.eu/ — активный контур переноса static reference в редактируемые Elementor-страницы. Этот host не заменяет действующий static live-host до отдельного решения.

Старый тестовый WordPress runtime /opt/designcorp/gmg/prod удален. Прежний домен wp2.gmg.landing.designcorp.eu выключен; активный WP-домен теперь wp.gmg.landing.designcorp.eu.

Активная WordPress theme монтируется в runtime через bind mount:

bash
/opt/designcorp/gmg/wp2/themes/gmg-starter

Канонический source этой theme в workspace:

bash
/home/admin/workspace/gmg/deploy/wordpress/themes/gmg-starter

3. Канонический workflow правок

  1. Проверить статус репозитория:
bash
cd /home/admin/workspace/gmg
git status --short
  1. Для static reference вносить изменения в git-источник проекта, затем деплоить через GitHub Actions main workflow. Не редактировать live root /var/www/gmg вручную.

  2. Проверить live host:

bash
curl -I https://gmg.landing.designcorp.eu/
  1. Для WordPress-переноса работать в Elementor на https://wp.gmg.landing.designcorp.eu/, используя https://gmg.landing.designcorp.eu/ как 1:1 reference.

  2. Для theme/CSS/assets править workspace source и деплоить theme в active runtime:

bash
cd /home/admin/workspace/gmg
deploy/wordpress/apply-theme.sh
  1. Если менялся nginx-конфиг:
bash
sudo -n nginx -t
sudo -n systemctl reload nginx

4. Static rollback

Static rollback выполняется через GitHub/git source и повторный deploy workflow. Не откатывать /var/www/gmg вручную как source of truth.

После rollback/deploy:

bash
curl -I https://gmg.landing.designcorp.eu/

5. Incident checklist

Если static site перестал открываться:

  1. проверить curl -I https://gmg.landing.designcorp.eu/;
  2. проверить конфиг /etc/nginx/sites-available/gmg.landing.designcorp.eu;
  3. проверить sudo -n systemctl status nginx;
  4. если конфиг недавно менялся, проверить sudo -n nginx -t.

Для WordPress preview:

  1. docker compose --env-file /opt/designcorp/gmg/wp2/.env -f /opt/designcorp/gmg/wp2/docker-compose.yml ps
  2. docker compose --env-file /opt/designcorp/gmg/wp2/.env -f /opt/designcorp/gmg/wp2/docker-compose.yml logs --tail=100 wordpress
  3. проверить конфиг /etc/nginx/sites-available/wp.gmg.landing.designcorp.eu
  4. проверить curl -I https://wp.gmg.landing.designcorp.eu/
  5. проверить WordPress URL:
bash
docker compose --env-file /opt/designcorp/gmg/wp2/.env -f /opt/designcorp/gmg/wp2/docker-compose.yml --profile tools run --rm cli option get home
docker compose --env-file /opt/designcorp/gmg/wp2/.env -f /opt/designcorp/gmg/wp2/docker-compose.yml --profile tools run --rm cli option get siteurl

6. WordPress Elementor workflow

Source of truth:

bash
https://gmg.landing.designcorp.eu/

Active WordPress:

bash
https://wp.gmg.landing.designcorp.eu/

Правило переноса: страницы собирать в Elementor как редактируемые секции/контейнеры/виджеты, а не вставлять static HTML одной простыней. Theme отвечает за системный слой: header/footer, tokens, global CSS, assets, helpers.

Активная theme runtime:

bash
/opt/designcorp/gmg/wp2/themes/gmg-starter

Активная theme source:

bash
/home/admin/workspace/gmg/deploy/wordpress/themes/gmg-starter

Деплой theme:

bash
cd /home/admin/workspace/gmg
deploy/wordpress/apply-theme.sh

apply-theme.sh копирует workspace theme в /opt/designcorp/gmg/wp2/themes/gmg-starter, сбрасывает WordPress cache и Elementor CSS. Он не пересоздает WordPress-контейнер и не копирует compose-файл. --activate использовать только если нужно заново активировать theme и menu locations.

Для Elementor-страниц сначала использовать общий parity layer:

bash
/home/admin/workspace/gmg/deploy/wordpress/themes/gmg-starter/assets/css/wp-parity-overrides.css

В page-specific CSS оставлять только уникальную композицию страницы. Повторяемые вещи не дублировать по страницам:

  • hero signals и маленькие badges должны быть compact inline pills с правильным green tint;
  • hex icons должны рендериться через .hex-icon.elementor-widget и стоять слева от текста в icon-left блоках;
  • glyph внутри green hex должен оставаться светлым через --hex-icon-color, не наследовать GMG green, иначе иконка визуально пропадает на зеленом hex-фоне;
  • текст под заголовками должен иметь системный gap, а не прилипать к title;
  • в Elementor text-editor может не быть .elementor-widget-container, поэтому spacing задавать также на самом .elementor-widget-text-editor и соседних widget wrappers;
  • card buttons, включая More, должны уходить вниз через flex layout и не прилипать к copy;
  • размеры/вес/цвет heading и body сверять с https://gmg.landing.designcorp.eu/, а не с дефолтами Elementor.

После правок проверить:

bash
curl -I https://wp.gmg.landing.designcorp.eu/
curl -sL https://wp.gmg.landing.designcorp.eu/ | rg "wp-content/themes/gmg-starter|elementor-page"
curl -sL https://wp.gmg.landing.designcorp.eu/about-gmg/ | rg "About GMG|elementor-page"

Для визуальной приемки page transfer проверять минимум desktop 1440px и mobile 390px: hero badges, section badges, icon-left layout, heading/copy spacing, card button spacing, colors, font weights, image crops.

7. Retired hosts

Следующие hosts выведены из эксплуатации и не должны использоваться как рабочий GMG-контур:

  • https://gmg2.landing.designcorp.eu/
  • https://gmg3.landing.designcorp.eu/
  • https://wp2.gmg.landing.designcorp.eu/