Lua Yandex Cloud Function Template
- Visual Studio Code
- Lua. Можно в составе LÖVE или LuaForWindows
- Yandex Cloud (CLI)
- Docker
1 - Использовать шаблон для создания функции
2 - Настроить стили .editorconfig
3 - Разместить нужную лицензию LICENSE
Для упаковки функции в архив для загрузки в yandex cloud использовать билд таску или скрипты build.bat/build.sh
Используется докер контейнер с приближенной к yandex cloud function средой для создания архива с функцией.
Для деплоя нужен yc cli с настроенным профилем, облаком и каталогом. Через таску деплоя или напрямую используя yc:
yc sls fn version create --function-id d4ej56******** --source-path ./dist/function.zip --runtime bash-2204 --entrypoint handler.sh
Для CI/CD использовать GitHub Actions
build.yml - создает архив с функцией, готовой для загрузки в облако.
deploy.yml - собирает и деплоит функцию в облако.
Совмещает build.yml и GitHub Action to deploy Serverless Function to Yandex Cloud
Потребуется в секретах передать креды аккаунта yandex cloud и id каталога:
- YC_SA_JSON_CREDENTIALS
- YC_FOLDER_ID
├── /src
│ ├── /lib Вспомогательные библиотеки
│ ├── debug.lua Перехватчик для локального дебага
│ └── main.lua Точка входа в функцию. Запрос приходит в stdin, ответ в stdout, логи в stderr. [manual](https://yandex.cloud/ru/docs/functions/concepts/function-invoke)
│
├── request.json Тестовый запрос в правильном формате, используется для локального дебага
├── dist Результат билда