Создание приложения по шаблону
Чтобы создать приложение по шаблону, в любой директории выполните следующую команду:
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-buildcartridge.post-buildDockerfile.build.cartridgeDockerfile.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 }}")