# Jenkins CI/CD for YuanRong ARM64 构建
# 使用方法: docker-compose -f scripts/docker-compose.jenkins.yml up -d

services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: yr-jenkins
    restart: unless-stopped
    ports:
      - "8080:8080"    # Web UI
      - "50000:50000"  # Agent 连接端口
    environment:
      - JENKINS_ADMIN_ID=admin
      - JENKINS_ADMIN_PASSWORD=${JENKINS_PASSWORD:-admin123}
      - JAVA_OPTS=-Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85
    volumes:
      - jenkins_data:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock  # Docker in Docker
      - ../:/workspace/yuanrong  # 挂载项目目录

  # Jenkins Agent: macOS ARM64 构建节点
  # 此服务在 macOS 上运行,不在 Linux 主机上
  # agent-macos:
  #   image: jenkins/inbound-agent:latest-jdk17
  #   container_name: yr-jenkins-agent-macos
  #   restart: unless-stopped
  #   environment:
  #     - JENKINS_URL=http://jenkins:8080
  #     - JENKINS_SECRET=${AGENT_SECRET}
  #     - JENKINS_AGENT_NAME=macos-arm64
  #   volumes:
  #     - /var/run/docker.sock:/var/run/docker.sock
  #     - ../:/workspace/yuanrong

volumes:
  jenkins_data: