Шаг Ubuntu GCP Cloud Build выполняется успешно, но без ожидаемых результатов - PullRequest
0 голосов
/ 07 января 2020

Ubuntu возвращает ожидаемые результаты от ls до тех пор, пока я не добавлю команду cd, затем ничего не получится.

Вот усеченная схема структуры моего проекта:

gcp_cicd_workflow
  |-- src
     | my_module.py
  |-- tests
     | test_my_module.py

Журнал сообщения, которые я предоставляю ниже, упорядочены с самыми новыми наверху. Обратите внимание, что существует множество сообщений журнала Ubuntu, связанных с извлечением изображения, которое я исключил из сообщений журнала.

Код:

  # Step 4
- name: 'ubuntu'
  entrypoint: '/bin/bash'
  args: ['-c', 'ls']

Журнал Команда ls возвращает ожидаемые результаты. - он возвращает все папки и файлы в папке рабочей области:

Finished Step #4
Step #4: tests
Step #4: src
Step #4: setup.py
Step #4: requirements.txt
Step #4: python_cloud_builder
Step #4: gcp_cicd
Step #4: gcp.egg-info
Step #4: gcp-cicd-workflow
Step #4: cloudbuild.yaml
Step #4: __init__.py
Step #4: README.md

Код:

  # Step 4
- name: 'ubuntu'
  entrypoint: '/bin/bash'
  args: ['-c', 'cd tests', 'ls']

Журнал: Результаты не возвращаются после команды cd:

Finished Step #4

Код - cd в несуществующую папку:

  # Step 4
- name: 'ubuntu'
  entrypoint: '/bin/bash'
  args: ['-c', 'cd foo']

Журнал - Получить ожидаемый результат "нет такого файла ..."):

Finished Step #4
Step #4: /bin/bash: line 0: cd: foo: No such file or directory

Ответы [ 2 ]

3 голосов
/ 07 января 2020

Попробуйте следующий код:

- name: 'ubuntu'
  entrypoint`enter code here`: '/bin/bash'
  args: ['-c', 'cd tests; ls']

$ bash -c запускает переданные аргументы как один bash сценарий. Он не разделяет передаваемые аргументы на отдельные сценарии.

; в bash заканчивает строку сценария, а следующий после точки с запятой интерпретируется как новая строка сценария.

0 голосов
/ 07 января 2020

@ Кристофер Янзон: ответ идеален, вы также можете сделать это без entrypoint вот простой пример

- id: 'set scripts_version'
  name: 'ubuntu'
  args: ['bash','-c','sed -i "s,SCRIPTS_VERSION_VALUE,$SHORT_SHA," k8s/*.yaml']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...