feat: finalize projectwork CI jobs, docs and test integration

This commit is contained in:
2026-04-23 11:39:08 +03:00
parent 737bddd631
commit 20bdacf5c5
39 changed files with 1819 additions and 70 deletions
+70 -7
View File
@@ -33,7 +33,8 @@ services:
- jenkins_home:/var/jenkins_home
- ./jenkins/casc:/var/jenkins_home/casc_configs:ro
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
- ..:/workspace/projectwork:ro
- ../..:/workspace/otus:ro
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8080/login >/dev/null"]
interval: 10s
@@ -55,6 +56,60 @@ services:
networks:
- jenkins_net
selenoid:
image: aerokube/selenoid:1.11.3
restart: unless-stopped
environment:
DOCKER_API_VERSION: "1.44"
OVERRIDE_VIDEO_OUTPUT_DIR: ${SELENOID_VIDEO_OUTPUT_DIR:-/opt/selenoid/video}
ports:
- "4444:4444"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./selenoid/browsers.json:/etc/selenoid/browsers.json:ro
- ./selenoid/video:/opt/selenoid/video
- ./selenoid/logs:/opt/selenoid/logs
command:
- "-conf"
- "/etc/selenoid/browsers.json"
- "-video-recorder-image"
- "selenoid/video-recorder:latest-release"
- "-container-network"
- "otus_jenkins_net"
- "-limit"
- "4"
- "-timeout"
- "5m"
- "-service-startup-timeout"
- "120s"
- "-session-attempt-timeout"
- "120s"
- "-video-output-dir"
- "/opt/selenoid/video"
- "-log-output-dir"
- "/opt/selenoid/logs"
healthcheck:
test: ["CMD-SHELL", "wget -q -O - http://127.0.0.1:4444/status >/dev/null 2>&1"]
interval: 10s
timeout: 5s
retries: 30
networks:
- jenkins_net
selenoid-ui:
image: aerokube/selenoid-ui:1.10.11
restart: unless-stopped
depends_on:
selenoid:
condition: service_healthy
ports:
- "8089:8080"
command:
- "--selenoid-uri"
- "http://selenoid:4444"
networks:
- jenkins_net
jobs_uploader:
build:
context: ./jobs_uploader
@@ -67,9 +122,10 @@ services:
JENKINS_HOSTNAME: http://jenkins:8080
JENKINS_USERNAME: ${JENKINS_ADMIN_ID}
JENKINS_PASSWORD: ${JENKINS_ADMIN_PASSWORD}
JJB_PATH: /workspace/hw8/config/jobs
JJB_PATH: /workspace/projectwork/config/jobs
volumes:
- ..:/workspace/hw8:ro
- ..:/workspace/projectwork:ro
- ../..:/workspace/otus:ro
networks:
- jenkins_net
@@ -87,10 +143,13 @@ services:
JENKINS_AGENT_WORKDIR: /home/jenkins/agent
JENKINS_WEB_SOCKET: "true"
JENKINS_LABELS: maven docker
HW8_ROOT: /workspace/hw8
OTUS_WORKSPACE_ROOT: /workspace/projectwork
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
- ..:/workspace/projectwork:ro
- ../..:/workspace/otus:ro
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- jenkins_net
@@ -108,15 +167,19 @@ services:
JENKINS_AGENT_WORKDIR: /home/jenkins/agent
JENKINS_WEB_SOCKET: "true"
JENKINS_LABELS: jjb docker
HW8_ROOT: /workspace/hw8
OTUS_WORKSPACE_ROOT: /workspace/projectwork
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
- ..:/workspace/projectwork:ro
- ../..:/workspace/otus:ro
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- jenkins_net
networks:
jenkins_net:
name: otus_jenkins_net
driver: bridge
volumes:
+1 -1
View File
@@ -30,7 +30,7 @@ jenkins:
- key: JENKINS_URL_INTERNAL
value: "http://jenkins:8080"
- key: OTUS_WORKSPACE_ROOT
value: "/workspace/hw8"
value: "/workspace/projectwork"
- key: MOBILE_DB_PASSWORD
value: "${MOBILE_DB_PASSWORD}"
+22
View File
@@ -0,0 +1,22 @@
{
"chrome": {
"default": "128.0",
"versions": {
"128.0": {
"image": "selenoid/vnc:chrome_128.0",
"port": "4444",
"path": "/"
}
}
},
"firefox": {
"default": "125.0",
"versions": {
"125.0": {
"image": "selenoid/vnc:firefox_125.0",
"port": "4444",
"path": "/wd/hub"
}
}
}
}
+1
View File
@@ -0,0 +1 @@
+1
View File
@@ -0,0 +1 @@