Распараллеливание шагов google cloudbuild без искажения журналов сборки - PullRequest
0 голосов
/ 03 апреля 2019

Следуя указаниям здесь: https://cloud.google.com/cloud-build/docs/configuring-builds/configure-build-step-order

Мы разделили нашу сборку на многослойное изображение докера, где слои

  1. Установите ОС и сторонние приложения
  2. Установите наши исходные коды и выполните сборку (в режиме отладки или выпуска в зависимости от docker ARG)
  3. Выполните покрытие кода / кода

Мы пометили шаги в cloudbuild.yaml идентификаторами докера ииспользуя waitfor, чтобы попытаться сделать так, чтобы версии debug и release могли запускать параллельно .

Однако, когда мы делаем это, журнал сборки смешивается- журналы сборки для выпуска и отладки перемешаны, что делает его более трудным для чтения.например,

Step #2 - "build-debug": �[0m�[91m  Downloaded colored v1.7.0
Step #5 - "build-release": �[0m�[91merror: couldn't read /tmp/mobilenode/src/attest/src/ias/../data/AttestationReportSigningCACert.pem: No such file or directory (os error 2)
Step #5 - "build-release":   --> /tmp/mobilenode/src/attest/src/ias/verify.rs:35:7
Step #5 - "build-release":    |
Step #5 - "build-release": 35 |     &[include_str!("../data/AttestationReportSigningCACert.pem")];
Step #5 - "build-release":    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #5 - "build-release": 
Step #2 - "build-debug": �[0m�[91m  Downloaded toml v0.4.10
[0m�[91m  Downloaded safemem v0.3.0
Step #2 - "build-debug": �[0m�[91m  Downloaded crunchy v0.1.6
Step #2 - "build-debug": �[0m�[91m  Downloaded grpcio-sys v0.4.4
Step #5 - "build-release": �[0m�[91merror: aborting due to previous error
Step #5 - "build-release": 
Step #5 - "build-release": �[0m�[91merror: Could not compile `attest`.
Step #5 - "build-release": warning: build failed, waiting for other jobs to finish...
Step #5 - "build-release": �[0m�[91merror: build failed
Step #5 - "build-release": �[0m�[91mmake: *** [src/enclave/target/release/libenclave.so] Error 101
Step #5 - "build-release": �[0mMakefile:90: recipe for target 'src/enclave/target/release/libenclave.so' failed
Step #2 - "build-debug": �[0m�[91m  Downloaded term v0.5.1
Step #2 - "build-debug": �[0m�[91m  Downloaded tiny_http v0.6.2
Step #2 - "build-debug": �[0m�[91m  Downloaded regex v0.1.80

Есть ли способ настроить cloudbuild так, чтобы для каждого шага сборки был отдельный файл журнала?Лучший ответ - использовать другой cloudbuild.yaml для параллельных шагов и пропустить все эти wait_for вещи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...