nav-img
ML Space

BuildImageJob

Функция BuildImageJob позволяет собрать кастомный образ в Docker registry региона. В рамках этого образа исполняются скрипты в конкретном регионе.

Команды

.start()

Команда для запуска новой задачи по сборке образа. Готовый образ будет доступен по ссылке из поля destination в ответе на запрос.

Параметры команды

Параметр

Тип

Описание

requirements_path (обяз.)

string

Путь до файла с зависимостями

from_image (обяз.)

string

Базовый образ, от которого будет происходить сборка.

Пример запроса:

build_job = BuildImageJob()
result = build_job.start(
requirements_path="requirements.txt",
from_image="dev.cr.rnd.sbercloud.dev/aicloud-base-images/py3.11-torch2.4.0:0.0.40"
)
print(result.job_name)

Пример ответа:

BuildImageRun(job_name='image-build-job-ai0001011-0498322ccl', status='PENDING', created_at='2025-06-30T07:19:42Z', destination='cr.ai.cloud.ru/2ebb32e5-3ddb-4834-a770-3cefb8e618d5/job-custom-image-66ee55')

Во все остальные команды, кроме list, можно передавать параметр name="job".

.status()

Команда для мониторинга статуса задачи по сборке образа.

Пример запроса:

status = build_job.status()
print(f"Active: {status.active}, Succeeded: {status.succeeded}, Failed: {status.failed}")

В результате отображается статус задачи.

Пример ответа:

JobStatus(job_name='image-build-job-ai0001011-04983nrh4f', active=1, succeeded=0, failed=0, conditions=[], pod_info=[PodItem(name='image-build-job-ai0001011-04983nrh4f-824np', ready='1/1', status='Running', restarts=0, age='31s')], scheduling_issue='')

.pods()

Команда проверки подов, связанных с задачей по сборке образа.

Пример запроса:

pods = build_job.pods()
for pod in pods:
print(f"Pod: {pod.name}, Status: {pod.status}")

В результате отображается информация о подах.

Пример ответа:

[PodItem(name='image-build-job-ai0001011-04983nrh4f-824np', ready='0/1', status='Running', restarts='0', age='4m8.575282162s')]

.logs()

Команда проверки логов из задачи по сборке образа.

Пример запроса:

build_job.logs()

В результате отображается информация по логам задачи.

Пример ответа:

INFO[0000] Retrieving image manifest cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40
INFO[0000] Retrieving image cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40 from registry cr.ai.cloud.ru
INFO[0000] Built cross stage deps: map[]
INFO[0000] Retrieving image manifest cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40
INFO[0000] Returning cached image manifest
INFO[0000] Executing 0 build triggers
INFO[0000] Building stage 'cr.ai.cloud.ru/aicloud-base-images/py3.10-torch2.1.2:0.0.40' [idx: '0', base-idx: '-1']
INFO[0000] Unpacking rootfs as cmd RUN pip install --user --no-cache-dir -r /context/requirements.txt requires it.

.list()

Команда получения списка всех задач по сборке образов с их основными характеристиками.

Пример запроса:

jobs = build_job.list()
for job in jobs:
print(f"Job: {job.name}, Completions: {job.completions}, Age: {job.age}")

В результате отображается список всех задач по сборке образов с их основными характеристиками.

Пример ответа:

[BuildImageJobItem(name='image-build-job-ai0001011-04983hswbl', completions='0/1', duration='35.308803982s', age='35.30880453s'),
BuildImageJobItem(name='image-build-job-ai0001011-04983nrh4f', completions='0/1', duration='3.308805471s', age='3.308805646s')]

.kill()

Команда остановки задачи по сборке образа.

Пример:

result = build_job.kill()
print(f"Kill operation successful: {result.success}")

В результате происходит остановка задачи.

Пример ответа:

BuildImageKill(success=True)