Files
homework_8/compose/docker-compose.yml
T

125 lines
3.2 KiB
YAML

services:
registry:
image: registry:2.8.3
restart: unless-stopped
environment:
REGISTRY_HTTP_ADDR: 0.0.0.0:5000
ports:
- "5005:5000"
volumes:
- registry_data:/var/lib/registry
networks:
- jenkins_net
jenkins:
build:
context: ./jenkins
image: local-jenkins:latest
restart: unless-stopped
user: root
environment:
CASC_JENKINS_CONFIG: /var/jenkins_home/casc_configs/jenkins.yaml
JAVA_OPTS: >-
-Djenkins.install.runSetupWizard=false
-Dhudson.model.DownloadService.noSignatureCheck=true
JENKINS_ADMIN_ID: ${JENKINS_ADMIN_ID}
JENKINS_ADMIN_PASSWORD: ${JENKINS_ADMIN_PASSWORD}
JENKINS_URL_PUBLIC: ${JENKINS_URL_PUBLIC}
MOBILE_DB_PASSWORD: ${MOBILE_DB_PASSWORD:-}
ports:
- "8081:8080"
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
- ./jenkins/casc:/var/jenkins_home/casc_configs:ro
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
healthcheck:
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8080/login >/dev/null"]
interval: 10s
timeout: 5s
retries: 30
networks:
- jenkins_net
nginx:
image: nginx:1.28.0
restart: unless-stopped
depends_on:
jenkins:
condition: service_healthy
ports:
- "${NGINX_PORT:-8088}:80"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- jenkins_net
jobs_uploader:
build:
context: ./jobs_uploader
image: local-jobs-uploader:latest
restart: "no"
depends_on:
jenkins:
condition: service_healthy
environment:
JENKINS_HOSTNAME: http://jenkins:8080
JENKINS_USERNAME: ${JENKINS_ADMIN_ID}
JENKINS_PASSWORD: ${JENKINS_ADMIN_PASSWORD}
JJB_PATH: /workspace/hw8/config/jobs
volumes:
- ..:/workspace/hw8:ro
networks:
- jenkins_net
agent-maven:
image: localhost:5005/otus/slave-maven:1.0.0
restart: unless-stopped
depends_on:
jenkins:
condition: service_healthy
environment:
JENKINS_URL: http://jenkins:8080
JENKINS_USER: ${JENKINS_ADMIN_ID}
JENKINS_PASSWORD: ${JENKINS_ADMIN_PASSWORD}
JENKINS_AGENT_NAME: maven-agent
JENKINS_AGENT_WORKDIR: /home/jenkins/agent
JENKINS_WEB_SOCKET: "true"
JENKINS_LABELS: maven docker
HW8_ROOT: /workspace/hw8
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
networks:
- jenkins_net
agent-jjb:
image: localhost:5005/otus/slave-jjb:1.0.0
restart: unless-stopped
depends_on:
jenkins:
condition: service_healthy
environment:
JENKINS_URL: http://jenkins:8080
JENKINS_USER: ${JENKINS_ADMIN_ID}
JENKINS_PASSWORD: ${JENKINS_ADMIN_PASSWORD}
JENKINS_AGENT_NAME: jjb-agent
JENKINS_AGENT_WORKDIR: /home/jenkins/agent
JENKINS_WEB_SOCKET: "true"
JENKINS_LABELS: jjb docker
HW8_ROOT: /workspace/hw8
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ..:/workspace/hw8:ro
networks:
- jenkins_net
networks:
jenkins_net:
driver: bridge
volumes:
jenkins_home:
registry_data: