test-deployment.sh

Обзор

test-deployment.sh — это скрипт на Bash, предназначенный для автоматизированного тестирования критически важных компонентов развертывания сетевой инфраструктуры и связанных сервисов через Docker Compose. Скрипт проверяет корректность генерации конфигураций, запуска контейнеров, доступность RPC-интерфейсов (Anvil и Anvil Settlement), успешность деплоя смарт-контрактов и базовую функциональность (создание задачи). В случае успешного тестирования он предлагает пользователю оставить развертывание активным или выполнить очистку.

Скрипт обеспечивает быстрый и наглядный способ проверки, что проект готов к развертыванию с базовым уровнем работоспособности, а также помогает выявить узкие места или ошибки на ранних этапах.


Подробное описание функций


print_status

print_status() {
    echo -e "${GREEN}[INFO]${NC} $1"
}

print_warning

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

print_header

print_header() {
    echo -e "${BLUE}================================${NC}"
    echo -e "${BLUE}$1${NC}"
    echo -e "${BLUE}================================${NC}"
}

test_basic_deployment

test_basic_deployment() {
  ...
}

cleanup_deployment

cleanup_deployment() {
  ...
}

main

main() {
  ...
}

Важные детали реализации


Взаимодействие с другими частями системы


Диаграмма структуры функций и их взаимодействий

flowchart TD
    main --> test_basic_deployment
    main --> cleanup_deployment
    test_basic_deployment --> print_header
    test_basic_deployment --> print_status
    test_basic_deployment --> print_error
    test_basic_deployment --> print_warning
    test_basic_deployment --> docker_compose_down["docker compose down -v"]
    test_basic_deployment --> docker_compose_up["docker compose up -d"]
    test_basic_deployment --> cast_client["cast client --rpc-url"]
    test_basic_deployment --> cast_send["cast send createTask"]
    cleanup_deployment --> print_header
    cleanup_deployment --> print_status
    cleanup_deployment --> docker_compose_down
    main --> read_user_input[/"Prompt user: keep running?"/]
    read_user_input -->|No| cleanup_deployment

Пример использования

Запуск скрипта из консоли:

./test-deployment.sh

Итог

test-deployment.sh — надежный и информативный инструмент для проверки базовой работоспособности ключевых компонентов развертывания проекта. Он облегчает диагностику, упрощает контроль над состоянием сервисов и помогает убедиться в готовности к полноценному деплою.


Если нужны дополнительные детали или интеграция с CI/CD, скрипт можно расширять, добавляя новые проверки или логику обработки ошибок.