在未跨步骤共享的云构建步骤中安装 google-chrome(使用卷)
Installing google-chrome in cloud build step not shared across steps (using volumes)
我在安装可跨步骤共享的 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
returns/usr/bin/google-chrome
。在最后一步做同样的事情 returns 没什么。
我还尝试将音量添加到中间的步骤并向上移动该步骤(因为出于某种原因将它放在安装步骤中损坏 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
但这并没有解决问题。
我想知道 /usr/bin
目录是否已被 docker 图片使用,在这种情况下您可能无法覆盖它?
您可以探索的另一个解决方案是使用 npm 和 chrome 工具制作一个 docker 图像,这样您就不必在每次构建时都 download/install 它。
最好,
菲利普
我在安装可跨步骤共享的 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
returns/usr/bin/google-chrome
。在最后一步做同样的事情 returns 没什么。
我还尝试将音量添加到中间的步骤并向上移动该步骤(因为出于某种原因将它放在安装步骤中损坏 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
但这并没有解决问题。
我想知道 /usr/bin
目录是否已被 docker 图片使用,在这种情况下您可能无法覆盖它?
您可以探索的另一个解决方案是使用 npm 和 chrome 工具制作一个 docker 图像,这样您就不必在每次构建时都 download/install 它。
最好, 菲利普