Плата за количество вызовов контейнера, вычислительные ресурсы, выделенные для выполнения приложения, и исходящий трафик (см. тарифы Serverless Containers).
Создайте сервисный аккаунт
От имени сервисного аккаунта будут загружаться Docker-образы в реестры Yandex Container Registry и развертываться контейнеры в Serverless Containers.
В левой части экрана нажмите на строку с именем каталога, в котором вы хотите развернуть контейнер.
В списке сервисов выберите Identity and Access Management.
Нажмите Создать сервисный аккаунт.
В поле Имя укажите github-action.
Нажмите Добавить роль и выберите роли:
container-registry.images.pusher — для работы с Docker-образами в реестре;
serverless-containers.editor — для управления контейнером;
iam.serviceAccounts.user — для возможности при создании ревизии контейнера указать сервисный аккаунт, от имени которого Docker-образ будет загружен из реестра.
Нажмите Создать.
Создайте сервисный аккаунт:
yc iam service-account create \
--name github-action
--folder-name <имя_каталога>
iam.serviceAccounts.user — для возможности при создании ревизии контейнера указать сервисный аккаунт, от имени которого Docker-образ будет загружен из реестра:
Назначьте сервисному аккаунту в текущем каталоге роли:
iam.serviceAccounts.user — для возможности при создании ревизии контейнера указать сервисный аккаунт, от имени которого Docker-образ будет загружен из реестра;
serverless-containers.editor — для управления контейнером;
container-registry.images.pusher — для работы с Docker-образами в реестре.
Сохраните идентификатор созданного реестра, он понадобится в дальнейшем.
Создайте репозиторий
Репозиторий будет создан из шаблона yc-ci-cd-serverless. В репозитории будут храниться Dockerfile и вспомогательные файлы для создания Docker-образа, а также настройки CI/CD-процесса.
В поле Владелец выберите организацию, в которой вы создали сервисный аккаунт в Yandex Cloud.
В поле Название укажите название репозитория.
Название должно быть уникальным в пределах организации и может содержать следующие ASCII-символы: строчные и заглавные буквы латинского алфавита, цифры, запятые, дефисы и подчеркивания.
Под названием отображается адрес, по которому репозиторий будет доступен.
(опционально) В поле Описание укажите описание репозитория.
В блоке Шаблон репозитория нажмите Просмотр шаблонов, выберите шаблон yc-ci-cd-serverless и нажмите Использовать шаблон.
Чтобы посмотреть содержимое шаблона, нажмите Предварительный просмотр.
В шаблоне содержатся:
файл .sourcecraft/ci.yaml с предустановленной конфигурацией CI/CD-процесса, который запускается при создании коммита и выполняет следующее:
Получает IAM-токен Yandex Cloud с помощью сервисного подключения с именем default-service-connection.
Аутентифицируется в Container Registry с помощью GitHub Action Docker Login и IAM-токена Yandex Cloud.
Собирает Docker-образ из Dockerfile, размещенного в корне репозитория, и отправляет образ в Container Registry с помощью GitHub Action Build and push Docker images.
Разворачивает контейнер в Serverless Containers из собранного Docker-образа.
Выберите организацию, в которой вы создали сервисный аккаунт в Yandex Cloud.
На странице организации в разделе Настройки перейдите в секцию Сервисные подключения.
Нажмите Новое сервисное подключение.
В блоке Базовая информация укажите имя сервисного подключения default-service-connection.
В блоке Область применения выберите созданный ранее репозиторий.
В блоке Настройки Yandex Cloud выберите:
Каталог, в котором ранее вы развернули облачную инфраструктуру и назначили роль сервисному аккаунту.
Сервисный аккаунт github-action.
Совет
Чтобы повторно запросить список облаков, каталогов и сервисных аккаунтов из Yandex Cloud, нажмите Синхронизировать. Это может быть полезно, если параллельно с созданием сервисного подключения вы создали каталог или сервисный аккаунт.
Нажмите Создать сервисное подключение.
Дождитесь окончания операции. На открывшейся странице будут представлены детали сервисного подключения.