Как изолировать трубопроводы дронов при одновременном запуске одного и того же трубопровода на одном и том же трутне? - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть конвейер, который допускает параллелизм конвейера, но когда один и тот же конвейер работает параллельно, выполнение моего конвейера завершится неудачно в тесте E2E. Тест не пройден, потому что тестовая учетная запись будет бороться за аутентификацию сеанса и будет выходить из учетной записи других пользователей.

Я использую puppeteer для тестирования E2E, поэтому в моем тестовом скрипте должен быть указан ip. И вот тут-то все идет не так, как надо: мой тест подключается к тому же контейнеру докера, а не к вновь созданному контейнеру для конвейера частиц.

kind: pipeline
name: Development

concurrency:
  limit: 10

services:
  # start a new postgres database server for the e2e test
  - name: projectdatabase
    image: postgres
    ports:
      - 5432
    environment:
      POSTGRES_USER: padmin

steps:
  .
  .
  .
  # run the application
  - name: deploy-to-staging
    image: ubuntu
    # run this step container in the background : this so it removed automatically when pipeline execution finished
    detach: true
    commands:
      - cd /drone/src/project/server
      # run the golang executable aka run the project
      - ./server
    depends_on:
      # wait until this steps finish
      - build-frontend
      - build-backend-and-migrate-database

  # run puppeteer end-to-end test
  - name: e2e-test
    image: my-puppeteer-image
    # required because this is private image and doesn't exist in docker.hub
    #
    #
    pull: if-not-exists
    commands:
      # go to puppeteer e2e test
      - cd /drone/src/project/e2e_test
      # install npm modules
      - npm install
      # change the end point from the default/dev-env to the onces created in run application step
      - find /drone/src/project -type f -name "*.js" -print0 | xargs -0 sed -i 's/localhost:3535/deploy-to-staging:8080/g'
      # run the tests
      - node test.js


# trigger for dev branch only
trigger:
  branch:
    - dev

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

...