e2e тестирование с Google Cloud Build и Sauce Labs - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь настроить сквозные тесты Nightwatch.js в Google Cloud Build с помощью прокси-соединения Sauce Labs с соусом.

Я уже видел это на TravisCI с соусом-подключите плагин и подумайте, что это может быть легко скопировать, но после дня попыток я никуда не попал.

Что я пробовал:

  1. простые шаги сборки, чтобы начатьsauce-connect, http-сервер и npm run e2e
  2. docker-compose с соусом-connect и http-сервером, npm run e2e в качестве этапа сборки

compose:

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

cloudbuild:

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 и подключите их к докерской сети cloudbuild

Я не уверен, как именно подключить все три контейнера к сети и решит ли это мою проблему.

Есть идеи или предложения?Это было довольно легко настроить на TravisCI, но я бы хотел запустить его на Cloud Build вместо того, чтобы провести отдельную PR-проверку для тестов e2e.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...