Установка google-chrome на этапе облачной сборки не распределяется между этапами (с использованием томов) - PullRequest
0 голосов
/ 20 декабря 2018

У меня проблемы с установкой Google Chrome, который будет доступен для всех этапов.Мой cloudbuild.yaml выглядит так:

- name: 'ubuntu'
  args: ['bash', 'tools/download-chrome.sh']
  volumes:
  - name: 'bin'
    path: '/usr/bin'
- name: 'gcr.io/cloud-builders/npm'
  args: ['run', 'install-all-ci']
- name: 'gcr.io/cloud-builders/npm'
  args: ['test']
  volumes:
  - name: 'bin'
    path: '/usr/bin'

Где первый шаг загружает Chrome, а вызов which google-chrome возвращает /usr/bin/google-chrome.Выполнение того же в последнем шаге ничего не возвращает.


Я также попытался добавить том к промежуточному шагу и переместить этот шаг вверх (потому что введение его в шаг установки по какой-то причине сломало git. Iя думаю /usr/bin не является хорошим каталогом для совместного использования, так как тома удаляются?


При попытке 3 выполнялось что-то вроде:

apt-get download -y google-chrome-stable \
      --no-install-recommends \
    && dpkg -i --force-all --root=/workspace/chrome /workspace/google-chrome-stable*.deb \

Но я получаю следующую ошибку:dpkg: error: unable to access dpkg status area: No such file or directory. Я пытался сделать mkdir /workspace/chrome, но это не решило проблему.

1 Ответ

0 голосов
/ 20 декабря 2018

Интересно, используется ли каталог /usr/bin образом докера уже, и в этом случае вы, возможно, не сможете перезаписать его?

Другое решение, которое вы могли бы исследовать, - это наличие образа докера с npm иинструмент Chrome, так что вам не нужно загружать / устанавливать его в каждой сборке.

Best, Philippe

...