Cloud Build - это, по сути, конвейер контейнеров, применяемых к общей файловой системе (/workspace
).
Единственное состояние, которое вам доступно, - это /workspace
.
Каждый шаг неявно монтирует /workspace
.
Ваш шаг № 0 в основном избыточен. Он применяет apt
к образу контейнера, созданному на шаге # 0 (и может как побочный эффект), обновляет также смонтированный /workspace
, но эти обновления отбрасываются (за исключением изменений /workspace
, когда этот шаг завершается. Вы не должны Не пытайтесь обновить /workspace
, например, с помощью Python модулей, которые вы собираетесь использовать на следующих шагах.
Я подозреваю, что вы устанавливаете pytest
с requirements.txt
на шаге 0, но это неверно применяется к шагу № 1. Использование pytest
. Что вам нужно сделать, так это создать контейнер, который включает pytest
, чтобы вы могли запустить pytest
на этом шаге.
Если вы отбросите все За исключением шага 2, он должен работать (у меня он работает).
Если вы используете sh для запуска pytest
, вам понадобится образ контейнера, который включает его, чтобы вы могли запустить этот изолированный шаг перед развертыванием.