Files
ljwx-health/docker/compose/jenkins-adaptive.yml
T

66 lines
1.7 KiB
YAML

version: '3.8'
services:
jenkins:
image: jenkins/jenkins:2.440-lts
container_name: jenkins-smart
restart: unless-stopped
privileged: true
user: root
ports:
- "8081:8080"
- "50000:50000"
volumes:
# Jenkins 数据持久化
- jenkins-smart-data:/var/jenkins_home
# Docker 集成
- /var/run/docker.sock:/var/run/docker.sock
# 配置文件挂载
- ./jenkins/casc:/var/jenkins_home/casc_configs:ro
- ./jenkins/plugins.txt:/usr/share/jenkins/ref/plugins.txt:ro
- ./jenkins/init-scripts:/var/jenkins_home/init.groovy.d:ro
- ./jenkins/shared-library:/var/jenkins_home/shared-library:ro
# 时区同步
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
# Jenkins 配置
- JENKINS_OPTS=--httpPort=8080
- JAVA_OPTS=-Djenkins.install.runSetupWizard=false -Xmx2g -XX:+UseG1GC
# Configuration as Code
- CASC_JENKINS_CONFIG=/var/jenkins_home/casc_configs
# Docker 配置
- DOCKER_HOST=unix:///var/run/docker.sock
# 服务集成环境变量
- JENKINS_ADMIN_ID=admin
- JENKINS_ADMIN_PASSWORD=admin123
- DOCKER_REGISTRY=localhost:35001
- GITEA_URL=http://192.168.1.6:3000
- GITEA_TOKEN=changeme-generate-in-gitea
networks:
- cicd-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/login"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
networks:
cicd-network:
external: true
name: cicd-network
volumes:
jenkins-smart-data:
driver: local
name: jenkins-smart-data