使用Google Cloud Build and Sauce Labs进行e2e测试

时间:2018-11-29 14:07:28

标签: docker google-cloud-platform nightwatch.js saucelabs google-cloud-build

我正在尝试使用Sauce Labs的酱汁连接代理在Google Cloud Build上设置Nightwatch.js端到端测试。

我以前已经在TravisCI上使用sauce-connect插件看到了这一点,并认为这可能很容易复制,但是经过一天的尝试,我还是一无所获。

我尝试过的事情:

  1. 简单的构建步骤即可启动酱汁连接,http服务器和?- in(2,[3,A,1|Xs],Zs). false.
  2. docker-compose with sauce-connect和http服务器,npm run e2e作为构建步骤

撰写:

npm run e2e

cloudbuild:

version: '3'
services:
  sauce_connect:
    container_name: sauce_connect
    image: gcr.io/$PROJECT_ID/sauce-connect
    restart: always
    expose:
      - 4445
    ports:
      - 4445
    command: '-u user -k sauce_access_code -i cloud_testing'
  server:
    container_name: server
    image: gcr.io/$PROJECT_ID/web
    restart: always
    expose:
      - 8080
    ports:
      - 8080

我还没有尝试过的东西

  • 通过steps: - name: gcr.io/cloud-builders/gcloud id: encrypt waitFor: ['-'] args: - kms - decrypt - --ciphertext-file=${_ENV}.env.enc - --plaintext-file=.env - --location=global - --keyring=xyz - --key=build - name: 'gcr.io/$PROJECT_ID/docker-compose' args: ['-f', 'e2e-compose.yaml', 'up'] env: - 'PROJECT_ID=$PROJECT_ID' - name: 'gcr.io/$PROJECT_ID/web' args: ['npm', 'run', 'e2e'] timeout: 3200s 运行所有三个步骤,并将它们附加到docker run码头工人网络

我不确定如何将所有三个容器都连接到网络,这是否可以解决我的问题。

有什么想法或建议吗?在TravisCI上设置起来很容易,但是我想在Cloud Build上运行它,而不是对e2e测试进行单独的PR检查。

0 个答案:

没有答案