3.1 KiB
title, description, weight
| title | description | weight |
|---|---|---|
| Директория `source/` | Концептуальный обзор структуры изолированной директории исходного кода. | 52 |
Директория source/ в корне репозитория содержит основные компоненты и проекты, которыми управляют общие модули. Она разработана для максимальной изоляции и самодостаточности.
Основная философия
Директория source/ — это не просто место для хранения кода; это коллекция независимых Проектов. Каждый проект в этой директории должен следовать следующим принципам:
- Изоляция: Каждый проект живет в своей поддиректории (например,
source/my-app/). - Самодокументируемость: Каждая директория проекта ОБЯЗАНА содержать собственный файл
README.md, описывающий его назначение, зависимости и конфигурацию. - Внутренняя логика: Проекты сами управляют своими процессами сборки, Docker-файлами и внутренними конфигурациями. Action-скрипты фреймворка Root просто оркеструют эти существующие компоненты.
Структура директории
Типичный проект в директории source/ может выглядеть следующим образом:
{{< filetree/container >}} {{< filetree/folder name="source" state="open" >}} {{< filetree/folder name="happ-subscription-generator" state="open" >}} {{< filetree/file name="Dockerfile" >}} {{< filetree/file name="generator.py" >}} {{< filetree/file name="README.md" >}} {{< /filetree/folder >}} {{< /filetree/folder >}} {{< /filetree/container >}}
Связь с Action-скриптами
Action-скрипты (такие как compose или sync) взаимодействуют с директорией source/, ссылаясь на пути внутри нее. Например, действие compose может использовать файл docker-compose.yml, который указывает на Dockerfile, расположенный в source/app/.
Такое разделение ответственности гарантирует, что логика оркестрации (Action-скрипты) остается отвязанной от деталей реализации (Source).
See also: