Организация автоматического развертывания на сервере в изолированной сети требует тщательного планирования, особенно с учетом ограниченной возможности доступа по SSH. Вот несколько шагов и рекомендаций, которые могут помочь решить эту задачу:
### 1. Подготовка к работе
- **Создание агента развертывания:** Вам нужно создать скрипты и/или приложения, которые будут работать на сервере и выполнять автоматическое развертывание. Эти агенты могут выполнять обновления кода, зависимостей и осуществлять запуск скриптов при развертывании.
- **Изолированная установка:** На сервере установите следующие инструменты, которые могут помочь в автоматизации:
- Механизмы для отслеживания изменений, такие как `Git` (если вы сможете его использовать в изолированной сети).
- Менеджеры зависимостей, такие как `Composer` для PHP-проектов (например, WordPress), если это возможно.
### 2. Предварительно загруженные пакеты
- **Сборка пакетов:** Подготовьте и протестируйте пакеты для вашего проекта (например, архивы с файлами WordPress и Битрикс), которые можно будет загружать на сервер. Убедитесь, что они включают все необходимые зависимости.
- **Скрипты и миграции:** Если ваши приложения зависят от базы данных, подготовьте SQL-скрипты для создания и обновления базы данных, а также изменения структур.
### 3. Организация процесса развертывания
- **Наблюдатели и триггеры:** Настройте агента развертывания на сервере на основе сценариев:
- Периодически проверять наличие новых релизов из предварительно загруженного файлового сервиса (например, через cron).
- Проверка изменений в папке на удаленном файловом хранении, если возможно передавать данные снаружи по контрольным точкам.
- **Локальная интеграция:** Если возможно, используйте конвейеры непрерывной интеграции (например, Jenkins, GitLab CI/CD) вне изолированной сети для создания релизов. Затем пользователь или робот может загружать их в специальное хранилище или даже флеш-накопители, которые потом могут быть перенесены в изолированную сеть.
### 4. Обмен данными
- **Экспорт и импорт данных:** После того как вы настроите автоматическое развертывание, продумайте процесс, как будет происходить обмен данными между вашей изолированной сетью и внешней средой. Это может быть осуществлено через регулярный перенос накопленных данных (логов, бэкапов и т.д.).
### 5. Безопасность
- **Логи и аудиты:** Настройте логирование всех действий, которые выполняет агент развертывания, чтобы иметь возможность отслеживать действия и последствия.
- **Регулярные обновления:** Убедитесь, что все используемые вами инструменты имеют последние обновления безопасности.
### 6. Документация и поддержка
Создайте документацию, описывающую процесс развертывания, чтобы любой, кто имеет временный доступ, мог легко понять, как именно работает система.
Таким образом, требуется сотрудничество между поэтапной настройкой и закономерным управлением самими процессами на сервере. Важно как можно тщательнее протестировать систему до ввода в эксплуатацию и обеспечить четкое взаимодействие с пользователями и администраторами.