如何将参数传递给 docker run in google cloud build

问题描述

我正在尝试使用 GCB 运行 cypress 管道,但在 docker 中运行时它崩溃了。

here 所述,解决此问题的方法是使用 --ipc=host 运行 docker。

但是查看文档,我找不到如何将参数传递给 GCB 中的 docker run。

有人可以帮我吗?

管道是

steps:
# Install node_modules
- name: 'gcr.io/cloud-builders/yarn'
  args: ['install']
# Lint JS
- name: 'gcr.io/cloud-builders/yarn'
  args: ['lint']
# Unit tests
- name: 'gcr.io/cloud-builders/yarn'
  args: ['test:unit','--coverage']
# E2E tests (cypress dependencies required,see https://github.com/GoogleCloudplatform/cloud-builders-community/pull/485)
- name: 'gcr.io/$PROJECT_ID/cypress-dependencies'
  args: ['test:e2e','--headless','--config','video=false']

解决方法

您可以尝试这样做。我不知道它是否会起作用,因为您在容器中运行容器,但请尝试您的最新步骤

  - name: gcr.io/cloud-builders/docker
    entrypoint: 'bash'
    args:
      - -c
      - |
         docker run --ipc=host gcr.io/$PROJECT_ID/cypress-dependencies \
            test:e2e --headless --config video=false

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...