Skip to content

cross-platform CLI tool for tracking changes in a project and automatically applying commands to it

License

Notifications You must be signed in to change notification settings

gingersamurai/gobserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gobserver

Консольная утилита, которое позволяет следить за изменениями в различных директориях и выполнять произвольный набор консольных команд

Установка и конфигурация

  • Склонировать репозиторий
    git clone https://github.com/gingersamurai/gobserver.git
    cd gobserver
  • Запустить СУБД PostgreSQL
    make local_postgres_init 
    
  • Установить переменные окружения для миграций и связи приложения с СУБД
    set -a && source .env && set +a
  • Запустить миграции
    make migrate
  • Скомпилировать приложение
    make build
    В папке gobserver/build/ появится исполняемый файл gobserver-cli
  • настроить файл конфигурации gobserver/config.yaml
  • Запустить gobserver-cli
    ./build/gobserver-cli

с примером работы можно ознакомиться по ссылке.

Архитектура

С архитекутрой приложения можно ознакомиться по ссылке

Список проблем, с которыми пришлось столкнуться:

  • Как бесконечно мониторить состояние файла?
    Решение: Использовать командную утилиту inotifywait.

  • Как без головной боли работать с inotifywait в Go?
    Решение: Воспользоваться готовой оболочкой.

  • Как запускать команды shell формата из конфига в exec формате?
    Решение: Небольшой костыль в формате ['bash', '-c', command]

About

cross-platform CLI tool for tracking changes in a project and automatically applying commands to it

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published