Я использую Cloud Build со сборщиком gcloud
. Я переопределил entrypoint
, чтобы он стал bq
, чтобы я мог запустить SQL BigQuery на этапе сборки. Ранее у меня был SQL, встроенный непосредственно в конфигурацию YAML для Cloud Build. Это отлично работает:
steps:
- name: gcr.io/cloud-builders/gcloud
entrypoint: 'bq'
args: ['query', '--use_legacy_sql=false', 'SELECT 1']
Теперь я хотел бы реорганизовать SQL из YAML в файл. Согласно здесь , вы можете cat
файл или направить его к bq
. Это работает в командной строке без проблем.
Но я не могу заставить его работать с Cloud Build. Я перепробовал много разных комбинаций, избегая символов и т. Д., Но независимо от того, что я пробую, оболочка не оценивает / не выполняет обратные пометки cat my_query.sl
, а вместо этого думает, что это сам запрос:
Работает нормально:
![enter image description here](https://i.stack.imgur.com/wBgq1.png)
Сборка в облаке Сборка не будет работать:
steps:
- name: gcr.io/cloud-builders/gcloud
entrypoint: 'bq'
args: ['query', '--use_legacy_sql=false', '`cat my_query.sql`']
![enter image description here](https://i.stack.imgur.com/aLK5h.png)
Я также попытался передать его вместо использования cat
, но я получаю ту же ошибку.
Я, должно быть, здесь упускаю что-то очевидное, но я не вижу этого. Я мог бы создать собственный образ докера и обернуть все в сценарий оболочки, но я бы предпочел не делать этого, если это возможно.
Как вы используете Cloud Build с оценкой оболочки на этапе сборки?