No description
- Makefile 100%
| inventory | ||
| playbooks | ||
| roles | ||
| vars | ||
| .gitignore | ||
| ansible.cfg | ||
| Makefile | ||
| README.md | ||
| TECH_DEBT.md | ||
Ansible Deploy
Ansible-проект для деплоя приложений.
Подготовка
Перед использованием нужно создать локальные конфигурационные файлы на основе примеров:
cp inventory/hosts.example.yml inventory/hosts.yml
cp inventory/group_vars/all.example.yml inventory/group_vars/all.yml
После этого укажите в них реальные параметры сервера, пользователя, SSH-порта и общие переменные окружения проекта.
Конфигурация проектов
Список проектов описан в vars/deploy_projects.yml. Этот файл является единым источником правды для подготовки директорий и деплоя.
Ключ верхнего уровня внутри deploy_projects — имя проекта. Оно используется:
- как имя каталога в
srv_root, например/srv/www/caddy; - как значение
deploy_project_nameвplaybooks/deploy-projects.yml; - как тег деплоя в Makefile/playbook.
Поддерживаемые поля проекта:
repo— обязательный SSH URL git-репозитория.branch— ветка, тег или commit для деплоя. По умолчаниюmaster.keep_releases— сколько последних релизов хранить. По умолчанию2.docker_compose— запускать лиdocker compose up -d --remove-orphansпосле переключенияcurrent. По умолчаниюtrue.directories— каталоги, которые нужно создать внутри/srv/www/<project>. По умолчанию создаётся толькоreleases.persistent_paths— каталоги или пути, которые должны жить вне релиза и подключаться в каждый релиз через symlink.optional_root_files— файлы из/srv/www/<project>, которые подключаются в релиз через symlink, если существуют. Обычно это.envиdocker-compose.override.yml.copy_env_example— копировать ли.env.exampleиз репозитория в релизный.env. По умолчаниюtrue.
Проверка
Проверьте, что Ansible может подключиться к серверу:
make ping
Если проверка прошла успешно, проект готов к использованию. Актуальные команды смотрите через:
make help