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

74 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### Сборка и запуск (через 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
Примеры:
```bash
make collectors-linux
make build-linux
make run
```
Docker-образ разработки:
- Файл `Dockerfile` собирает бинарь агента `sensusagent` и часть коллекторов в `/bin/agent`
Docker Compose (упрощенный запуск):
Файл `docker-compose.yml` поднимает сервис `agent`.
```bash
docker compose up --build
```
Переменные окружения:
- `CONFIG_PATH` — путь к конфигу (по умолчанию `/bin/agent/config.yaml` в контейнере)
- `LOG_LEVEL``error` | `info` | `debug`
Пример docker-compose с переопределениями:
```yaml
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"]
```
Полезные команды:
```bash
docker compose logs -f agent
docker compose exec agent sh -c 'ls -la /bin/agent/collectors'
```
## Команды обновления
Для обновления агента на удаленных серверах:
```bash
# Обновление systemd-сервиса (рекомендуется)
make update-service
# Обновление агента без systemd
make update
```
Эти команды автоматически выполняют:
1. Остановку и удаление старой версии
2. Развертывание новой версии
3. Запуск обновленного агента