Создание приложения по шаблону
Чтобы создать приложение по шаблону, в любой директории выполните следующую команду:
cartridge create [путь] [параметры]
--name |
Имя приложения. |
--from |
Путь к шаблону приложения (см. ниже). |
--template |
Имя шаблона приложения. В настоящее время поддерживается только шаблон cartridge . |
Команда create
также поддерживает глобальные параметры.
Приложение создается в директории <путь>/<имя-приложения>/
.
Несложное приложение на основе шаблона по умолчанию cartridge
содержит следующие компоненты:
- Пользовательскую роль с конечной точкой для HTTP-запросов.
- Примеры тестов и базовые утилиты для тестирования.
- Файлы для разработки, такие как
.luacheckrc
.
Если у вас установлен git
, в корневой директории проекта создается Git-репозиторий с файлом .gitignore
. Сразу формируется первоначальный коммит с тегом версии приложения.
В директории <имя_приложения>/
находится несколько групп файлов.
Файлы приложения:
app/roles/custom-role.lua
— пример кластерной роли с простым HTTP API. Эту роль можно включить, передав ее какapp.roles.custom
.<имя_приложения>-scm-1.rockspec
— файл, содержащий зависимости приложения.init.lua
— точка входа в приложение.stateboard.init.lua
— точка входа в экземпляр stateboard приложения.
Файлы, необходимые для сборки и упаковки:
cartridge.pre-build
cartridge.post-build
Dockerfile.build.cartridge
Dockerfile.cartridge
Подробную информацию вы найдете в документации по скриптам pre-build и post-build, сборке приложения с помощью Docker и созданию Docker-образа приложения.
Файлы, необходимые для разработки:
deps.sh
решает проблемы с зависимостями из файла.rockspec
и устанавливает зависимости для тестирования (например,luatest
).instances.yml
содержит конфигурацию экземпляров и используется командойcartridge start
..cartridge.yml
содержит конфигурацию Cartridge и используется командойcartridge start
.systemd-unit-params.yml
содержит параметры systemd.tmp
— директория для временных файлов, выступающая в качестве директории запуска (см..cartridge.yml
)..git
— директория Git-репозитория.- В файле
.gitignore
можно указать файлы, игнорируемые Git.
Файлы, необходимые для тестирования, и примеры тестов:
test ├── helper │ ├── integration.lua │ └── unit.lua │ ├── helper.lua │ ├── integration │ │ └── api_test.lua │ └── unit │ └── sample_test.lua
- Файлы конфигурации:
.luacheckrc
.luacov
.editorconfig
По умолчанию команда create
задействует стандартный шаблон под названием cartridge
. Вы также можете использовать собственный шаблон. Чтобы создать по нему приложение, передайте в команде cartridge create
параметр --from
, указав в качестве аргумента путь к своему шаблону.
Если шаблон находится в Git-репозитории, при создании приложения по этому шаблону все файлы в директории .git
игнорируются. Вместо этого для нового приложения создается новый Git-репозиторий.
Чтобы задать зависимости для приложения, не следует создавать директорию .rocks
в своем шаблоне — используйте файлы .rockspec
и cartridge.pre-build
.
В именах и содержимом файлов можно использовать текстовые переменные.
Доступны следующие переменные:
Name
— имя приложения.StateboardName
— имя экземпляра stateboard (<имя_приложения>-stateboard
).Path
— абсолютный путь к приложению.
Пример:
my-template
├── {{ .Name }}-scm-1.rockspec
└── init.lua
└── stateboard.init.lua
└── test
└── sample_test.lua
init.lua
:
print("Здравствуйте! Я приложение {{ .Name }}")
print("У меня есть экземпляр stateboard под названием {{ .StateboardName }}")