Я думаю, что проблема с вашим cloudbuild.yaml
.Вам необходимо настроить его для создания образа из Dockerfile. Проверьте официальный Google Cloud Build , чтобы узнать, как создать файл конфигурации сборки.
Я пытался с этой простой настройкой, и она работала для меня:
├── project
├── cloudbuild.yaml
└── Dockerfile
└── test_sample.py
Содержимое test_sample.py
:
def inc(x):
return x + 1
def test_answer():
assert inc(3) == 4
Вот cloudbuild.yaml
:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/pytest-image', '.' ]
images:
- 'gcr.io/$PROJECT_ID/pytest-image'
Dockerfile
, важно скопировать проект в его собственный каталог для запуска pytest.
FROM python:3.7
COPY . /project
WORKDIR /project
RUN pip install pytest
ENTRYPOINT ["pytest"]
Теперь внутри каталога проекта мы создаем образ:
gcloud builds submit --config cloudbuild.yaml .
Мы вытягиваем его:
docker pull gcr.io/$PROJECT_ID/pytest-image:latest
И запускаем его:
docker run gcr.io/$PROJECT_ID/pytest-image:latest
Результат:
============================= test session starts ==============================
platform linux -- Python 3.7.2, pytest-4.2.0, py-1.7.0, pluggy-0.8.1
rootdir: /src, inifile:
collected 1 item
test_sample.py . [100%]
=========================== 1 passed in 0.03 seconds ===========================