cloudbuild.yaml включает другую конфигурацию облачного построителя

Мой проект разбит на gitmodules примерно так:

/ +
  |
  +-module_1
  |  |
  |  +- cloudbuild.yaml 
  |  +- src/
  |  +-.git/
  | 
  +-module_2
  |  |
  |  +- cloudbuild.yaml 
  |  +- src/
  |  +-.git/
  | 
  +- .git/
  +- .gitmodules
  +- cloudbuild.yaml

Я пытаюсь создать подмодули из родительского репозитория, но у cloudbuild есть проблема с этим, поскольку он не извлекает gitmodules самостоятельно. Поэтому, когда я ссылаюсь на module_1/cloudbuild.yaml как на конфигурацию облачной сборки, сборка завершается ошибкой, потому что этот файл не существует. Я думаю о возможных обходных решениях и хотел бы спросить, возможно ли следующее:

  1. ссылка на /cloudbuild.yaml как на конфигурацию сборки
  2. добавление шага для получения модулей gitmodules в cloudbuild.yaml
  3. Запустите другой файл облачной сборки

Результат должен выглядеть примерно так:

steps:
  - name: 'gcr.io/$PROJECT_ID/git'
    args: ['submodule', 'update', '--init']
  - name: 'some kind of command that runs cloudbuild.yaml`
    args: ['module_1/cloudbuild.yaml']

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




Ответы (1)


Я не думаю, что то, что вы хотите, возможно. Я не думаю, что эта часть может работать: - name: 'какая-то команда, которая запускает cloudbuild.yaml'

Лучше всего просто отправить запрос функции с помощью нашей системы отслеживания проблем, которая позволит ссылаться на "module_1 / cloudbuild.yaml" напрямую как на конфигурацию.

person Ying Li    schedule 21.08.2018
comment
Что, если вы запустите команду gcloud, чтобы построить другую облачную сборку? Есть ли возможность обойти эту проблему? - person Ben; 28.08.2018
comment
Если вы готовы это сделать, возможно, вы сможете заставить это работать. Вы можете попробовать запустить облачную сборку на одной машине, а затем фактически использовать эту машину (со всей необходимой библиотекой и cloudbuild.yaml), запустить облачную сборку и запустить свой настоящий экземпляр. Я не понимаю вашего варианта использования, почему бы вам просто не иметь cloudbuild.yaml на корневом уровне для разных папок? Это намного дешевле, чем делать это таким образом (когда один экземпляр запускает другой). - person Ying Li; 29.08.2018
comment
Вы можете пометить этот запрос функции по этой теме для получения дальнейших обновлений, однако при этом нет ETA или гарантии реализации. . - person Katayoon; 04.09.2018