Google Cloud Build не может работать под управлением NX: приложения не могут ссылаться на коммит ~ 1 - PullRequest
1 голос
/ 18 июня 2019

Я пытаюсь настроить конвейер CI / CD с полным моно-репо, разработанный с помощью nx.dev, где я собираю и внедряю только те приложения и службы, которые были изменены в коммите.

Моя облачная сборка связана смой репозиторий на github, и когда изменение происходит, оно запускает сборку.Сначала установите npm, а затем соберите измененные приложения.

В соответствии с документами nrwls для nx https://nx.dev/guides/monorepo-affected#ci они говорят, что используют

npm run affected:build -- --base=origin/master~1 --head=origin/master

Это позволит сравнить текущий коммит с предыдущимподтвердите, чтобы выяснить, какие службы или приложения создавать.

Я пытался использовать это, но получаю эту ошибку при работе в облачной сборке

Step #1: fatal: Not a valid object name master~1
Step #1: Command failed: git merge-base master~1 master
Step #1: fatal: Not a valid object name master~1

При локальном построении с помощью cloud-build-локальный, он работает нормально и успешно выясняет, какие сервисы собирать.

Я думаю, что причина его неудачи в том, что когда облачная сборка проверяет репозиторий git, он только проверяет коммит и ни одну из предыдущих данных коммита,Поэтому он не может ссылаться на предыдущий коммит.

Есть ли способ обойти это или я что-то упустил?

Спасибо!

...