Commit 8a0d9541 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Dev

See merge request redmic-project/testing/selenium-grid!1
parents 7dc0c4c3 fffeea6c
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+12 −0
Original line number Diff line number Diff line
include:
  - project: 'redmic-project/gitlab-ci-templates'
    ref: master
    file: '/deployment.yml'

stages:
  - deploy

.deploy:
  variables:
    STACK: testing
    url: https://selenium.${PUBLIC_HOSTNAME}

deploy/.env

0 → 100644
+10 −0
Original line number Diff line number Diff line
SE_HUB_HOST=selenium-hub
SE_HUB_PORT=4444
SE_SESSION_REQUEST_TIMEOUT=30
SE_SESSION_RETRY_INTERVAL=5

SE_EVENT_BUS_PUBLISH_PORT=4442
SE_EVENT_BUS_SUBSCRIBE_PORT=4443
SE_NODE_MAX_CONCURRENT_SESSIONS=1

UI_AUTH=user:$apr1$md5password
+1 −0
Original line number Diff line number Diff line
version: '3.5'
+1 −0
Original line number Diff line number Diff line
version: '3.5'
+100 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  selenium-hub:
    image: ${SELENIUM_HUB_IMAGE_NAME:-selenium/hub}:${SELENIUM_HUB_IMAGE_TAG:-latest}
    environment:
      SE_HUB_HOST:
      SE_HUB_PORT:
      SE_SESSION_REQUEST_TIMEOUT:
      SE_SESSION_RETRY_INTERVAL:
      SE_OPTS: ${SELENIUM_HUB_SE_OPTS}
    networks:
      gitlab-net:
      traefik-net:
    deploy:
      mode: replicated
      replicas: ${SELENIUM_HUB_REPLICAS:-1}
      restart_policy:
        delay: ${SELENIUM_HUB_RESTART_DELAY:-5s}
      update_config:
        delay: ${SELENIUM_HUB_UPDATE_DELAY:-1m}
      labels:
        traefik.frontend.auth.basic.users: ${UI_AUTH}
        traefik.frontend.rule: Host:${TRAEFIK_SUBDOMAIN:-selenium}.${PUBLIC_HOSTNAME}
        traefik.backend: selenium-hub
        traefik.port: '${SE_HUB_PORT}'
      resources:
        limits:
          cpus: '${SELENIUM_HUB_RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${SELENIUM_HUB_RESOURCES_LIMITS_MEMORY:-512M}
        reservations:
          cpus: '${SELENIUM_HUB_RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${SELENIUM_HUB_RESOURCES_RESERVATIONS_MEMORY:-256M}

  selenium-chrome:
    image: ${SELENIUM_CHROME_IMAGE_NAME:-selenium/node-chrome}:${SELENIUM_CHROME_IMAGE_TAG:-latest}
    environment:
      SE_EVENT_BUS_HOST: ${SE_HUB_HOST}
      SE_EVENT_BUS_PUBLISH_PORT:
      SE_EVENT_BUS_SUBSCRIBE_PORT:
      SE_NODE_HOST: '{{.Service.Name}}'
      SE_NODE_MAX_CONCURRENT_SESSIONS:
      SE_OPTS: ${SELENIUM_CHROME_SE_OPTS}
    networks:
      gitlab-net:
    volumes:
      - /dev/shm:/dev/shm
    deploy:
      mode: replicated
      replicas: ${SELENIUM_CHROME_REPLICAS:-1}
      restart_policy:
        delay: ${SELENIUM_CHROME_RESTART_DELAY:-10s}
      update_config:
        delay: ${SELENIUM_CHROME_UPDATE_DELAY:-1m}
      resources:
        limits:
          cpus: '${SELENIUM_CHROME_RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${SELENIUM_CHROME_RESOURCES_LIMITS_MEMORY:-1G}
        reservations:
          cpus: '${SELENIUM_CHROME_RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${SELENIUM_CHROME_RESOURCES_RESERVATIONS_MEMORY:-512M}

  selenium-firefox:
    image: ${SELENIUM_FIREFOX_IMAGE_NAME:-selenium/node-firefox}:${SELENIUM_FIREFOX_IMAGE_TAG:-latest}
    environment:
      SE_EVENT_BUS_HOST: ${SE_HUB_HOST}
      SE_EVENT_BUS_PUBLISH_PORT:
      SE_EVENT_BUS_SUBSCRIBE_PORT:
      SE_NODE_HOST: '{{.Service.Name}}'
      SE_NODE_MAX_CONCURRENT_SESSIONS:
      SE_OPTS: ${SELENIUM_FIREFOX_SE_OPTS}
    networks:
      gitlab-net:
    volumes:
      - /dev/shm:/dev/shm
    deploy:
      mode: replicated
      replicas: ${SELENIUM_FIREFOX_REPLICAS:-1}
      restart_policy:
        delay: ${SELENIUM_FIREFOX_RESTART_DELAY:-10s}
      update_config:
        delay: ${SELENIUM_FIREFOX_UPDATE_DELAY:-1m}
      resources:
        limits:
          cpus: '${SELENIUM_FIREFOX_RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${SELENIUM_FIREFOX_RESOURCES_LIMITS_MEMORY:-1G}
        reservations:
          cpus: '${SELENIUM_FIREFOX_RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${SELENIUM_FIREFOX_RESOURCES_RESERVATIONS_MEMORY:-512M}

networks:
  gitlab-net:
    name: ${GITLAB_NET_NAME:-gitlab-net}
    driver: ${GITLAB_NET_DRIVER:-overlay}
    external: true

  traefik-net:
    name: ${TRAEFIK_NET_NAME:-traefik-net}
    driver: ${TRAEFIK_NET_DRIVER:-overlay}
    external: true