无法跨步骤(使用卷)共享在云构建步骤中安装google-chrome

时间:2018-12-20 15:08:07

标签: google-chrome testing google-cloud-platform continuous-integration google-cloud-build

我在安装可以跨步骤共享的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。我认为/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 :(得分:1)

我想知道/usr/bin目录是否已被docker镜像使用,在这种情况下您可能无法覆盖它?

您可以探索的另一种解决方案是同时使用npm和chrome工具创建一个docker映像,因此您不必在每个版本上都下载/安装它。

最好, 菲利普