SensusAgent/docs/build_and_run.md
Sergey Antropoff 330397f331 refactor: убран суффикс -raw из названий папок Ansible ролей
- Переименованы папки:
  - delete-raw → delete
  - delete-service-raw → delete-service
  - deploy-raw → deploy
  - deploy-service-raw → deploy-service

- Обновлены пути в Makefile для всех команд:
  - make deploy
  - make delete
  - make deploy-service
  - make delete-service
  - make update-service
  - make update

- Обновлены пути в документации
- Добавлены новые команды make update-service и make update
- Обновлен deploy/playbook.yml для использования шаблонов конфигурации

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-09-15 14:55:41 +03:00

2.3 KiB
Raw Permalink Blame History

Сборка и запуск (через Docker/Make)

Автор: Сергей Антропов, сайт: https://devops.org.ru

Требования:

  • Docker и Docker Compose

Основные цели Makefile:

  • make collectors — сборка коллекторов для текущей платформы
  • make collectors-linux / collectors-darwin / collectors-windows — кросс-сборка
  • make build / build-linux / build-darwin — сборка агента
  • make run — одноразовый запуск и вывод JSON (через jq)
  • make agent — запуск агента с логированием в stdout

Примеры:

make collectors-linux
make build-linux
make run

Docker-образ разработки:

  • Файл Dockerfile собирает бинарь агента sensusagent и часть коллекторов в /bin/agent

Docker Compose (упрощенный запуск): Файл docker-compose.yml поднимает сервис agent.

docker compose up --build

Переменные окружения:

  • CONFIG_PATH — путь к конфигу (по умолчанию /bin/agent/config.yaml в контейнере)
  • LOG_LEVELerror | info | debug

Пример docker-compose с переопределениями:

version: "3.9"
services:
  agent:
    build: .
    image: sensusagent:dev
    environment:
      - CONFIG_PATH=/bin/agent/config.yaml
      - LOG_LEVEL=debug
    volumes:
      - ./bin/agent:/bin/agent:ro
    entrypoint: ["/bin/agent/sensusagent", "--mode", "stdout"]

Полезные команды:

docker compose logs -f agent
docker compose exec agent sh -c 'ls -la /bin/agent/collectors'

Команды обновления

Для обновления агента на удаленных серверах:

# Обновление systemd-сервиса (рекомендуется)
make update-service

# Обновление агента без systemd
make update

Эти команды автоматически выполняют:

  1. Остановку и удаление старой версии
  2. Развертывание новой версии
  3. Запуск обновленного агента