Консоль в Google Cloud Build?

Я использую сборку Google Cloud для запуска тестов для CI / CD. Я столкнулся с ошибкой в ​​своей сборке и хотел бы войти в консоль в работающем контейнере, чтобы проверить среду.

Ошибка, которую я получаю, связана с запуском "ng test" в приложении angular. Карма дает мне ошибку:

Шаг №1: 14 04 2019 12: 00: 01.869: ОШИБКА [пусковая установка]: на вашей платформе нет двоичного файла для браузера Chrome.
Шаг №1: Пожалуйста, установите переменную env «CHROME_BIN».

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

На данный момент в документации указано, что я могу только просматривать историю вывода.

https://cloud.google.com/cloud-build/docs/view-build-results

Можно ли в консоли войти в сборку Google Cloud? Если да, то как я могу с консоли войти в сборку Google Cloud?

Спасибо


Обновлять:

Спасибо за ответ ffd03e.

Вот файл yaml, который я использую сейчас после добавления вашей точки входа в bash, вместе с выводом облака. Я изучу опубликованные вами ссылки и сделаю еще одно обновление. (Поскольку chrome ENV пуст, я пробовал искать его через ls) Хотя это единственный способ отладки с помощью файла YAML? Я надеюсь выполнить удаленный доступ в оболочку bash в облаке, чтобы мне не приходилось постоянно вносить изменения в свой репозиторий только для того, чтобы что-то зарегистрировать.

Конфигурация и вывод перечислены ниже:

steps:
# Install
- name: 'gcr.io/cloud-builders/npm'
  args: ['install']
# bash -c | echo $CHROME_ENV - and checking chrome paths
- id: 'print env vars'
  name: 'gcr.io/$PROJECT_ID/ng:latest'
  entrypoint: 'bash'
  args:
  - '-c'
  - |
    echo 'getting env'
    env
    echo 'NODE_VERSION: ' $$NODE_VERSION
    echo 'CHROME_ENV: '  $$CHROME_ENV
# Test - running this in root also runs test for libraries
- name: 'gcr.io/cloud-builders/npm'
  args: ['run', 'test']
# Build
- name: 'gcr.io/cloud-builders/npm'
  args: ['run', 'build']
# Deploy
- name: 'gcr.io/$PROJECT_ID/firebase'
  args: ['deploy']

Starting Step #1 - "print env vars"
Step #1 - "print env vars": Pulling image: gcr.io/library-master/ng:latest
Step #1 - "print env vars": latest: Pulling from library-master/ng
Step #1 - "print env vars": 4b105072aa89: Already exists
Step #1 - "print env vars": b775667b1fd0: Already exists
Step #1 - "print env vars": 0fe156bcb4b1: Already exists
Step #1 - "print env vars": fb9906355a0f: Already exists
Step #1 - "print env vars": 880a3b83482f: Already exists
Step #1 - "print env vars": 228e101c8671: Already exists
Step #1 - "print env vars": f77ff8405034: Already exists
Step #1 - "print env vars": cd091f7b9743: Already exists
Step #1 - "print env vars": 60af6f0efde7: Pulling fs layer
Step #1 - "print env vars": 60af6f0efde7: Verifying Checksum
Step #1 - "print env vars": 60af6f0efde7: Download complete
Step #1 - "print env vars": 60af6f0efde7: Pull complete
Step #1 - "print env vars": Digest: sha256:2758958b0130229397599ce976ab163e8959ee2d1c4f13143d6c2233d792e79e
Step #1 - "print env vars": Status: Downloaded newer image for gcr.io/library-master/ng:latest
Step #1 - "print env vars": getting env
Step #1 - "print env vars": NODE_VERSION=8.12.0
Step #1 - "print env vars": HOSTNAME=c2dc51ef6be7
Step #1 - "print env vars": PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Step #1 - "print env vars": PWD=/workspace
Step #1 - "print env vars": SHLVL=1
Step #1 - "print env vars": HOME=/builder/home
Step #1 - "print env vars": YARN_VERSION=1.9.4
Step #1 - "print env vars": BUILDER_OUTPUT=/builder/outputs
Step #1 - "print env vars": _=/usr/bin/env
Step #1 - "print env vars": NODE_VERSION: 8.12.0
Step #1 - "print env vars": CHROME_ENV: 
Finished Step #1 - "print env vars"
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/npm
Step #2: 
Step #2: > [email protected] test /workspace
Step #2: > ng test
Step #2: 
Step #2: 17 04 2019 13:32:21.481:WARN [karma]: No captured browser, open http://localhost:9876/
Step #2: 17 04 2019 13:32:21.486:INFO [karma-server]: Karma v3.1.4 server started at http://0.0.0.0:9876/
Step #2: 17 04 2019 13:32:21.487:INFO [launcher]: Launching browsers Chrome with concurrency unlimited
Step #2: 17 04 2019 13:32:21.497:INFO [launcher]: Starting browser Chrome
Step #2: 17 04 2019 13:32:21.498:ERROR [launcher]: No binary for Chrome browser on your platform.
Step #2: Please, set "CHROME_BIN" env variable.
Step #2: 17 04 2019 13:32:27.258:WARN [karma]: No captured browser, open http://localhost:9876/

----------- Еще попробуйте использовать ls, чтобы найти Chrome ---------

# Using 'ls' to look for chrome..
Step #1 - "print env vars": ls /usr/bin/google-chrome
Step #1 - "print env vars": ls: cannot access /usr/bin/google-chrome: No such file or directory
Step #1 - "print env vars": ls /usr/bin/chromium-browser
Step #1 - "print env vars": ls: cannot access /usr/bin/chromium-browser: No such file or directory

person Jonathan002    schedule 14.04.2019    source источник


Ответы (1)


Вы запускаете ng test как этап сборки или в файле Docker? Было бы полезно увидеть конфигурацию сборки вашего облака.

Вот пример cloudbuild.yaml, который печатает переменные среды. Он также воспроизводит ошибку, если используется с ng new my-app, и использует конструктор облака сообщества ng..

# npm install
- id: 'install dependencies'
  name: 'gcr.io/cloud-builders/npm'
  args: ['install']

# bash -c | echo $CHROME_ENV
- id: 'print env vars'
  name: 'gcr.io/$PROJECT_ID/ng:latest'
  entrypoint: 'bash'
  args:
  - '-c'
  - |
    echo 'getting env'
    env
    echo 'NODE_VERSION: ' $$NODE_VERSION
    echo 'CHROME_ENV: '  $$CHROME_ENV

# ng test
- id: 'run unit tests'
  name: 'gcr.io/$PROJECT_ID/ng:latest'
  args: ['test']

Ресурсы: Заменить значения переменных, Освоение синтаксиса конфигурации сборки Google Cloud

Похоже, в ваших тестах используется хром. При запуске из Cloud Build тесты следует запускать с использованием безголового хрома или phantomjs. На этапе сборки, который вы выполняете ng test, возможно, не установлен headless chrome.

Соответствующие ссылки

person guille    schedule 16.04.2019
comment
Спасибо за ответ, я обновил вопрос конфигурацией и выводом. - person Jonathan002; 17.04.2019
comment
как добавить chrome_bin env или установить chromeheadless? - person M-sAnNan; 21.09.2020