Open shynome opened 5 years ago
最近 Drone 发布 1.0-RC3 的版本, 更新支持了 多机器(每个机器上运行一个agent), 多平台(windows, arm ...) 构建 官方文档链接: https://docs.drone.io/
下面是我基于 gitlab 的部署文件:
# filename: /work/docker-compose.yml version: '3.6' volumes: caddy: services: proxy: # 一个用 caddy 来做反向代理的镜像 image: shynome/caddy labels: { name: proxy } ports: - { mode: host, protocol: tcp, target: 80, published: 80 } - { mode: host, protocol: tcp, target: 443, published: 443 } volumes: - caddy:/root/.caddy - /work/proxy.d:/etc/proxy.d logging: &logging options: { max-size: "200k", max-file: "10" } deploy: &deploy replicas: 1 restart_policy: { condition: on-failure, max_attempts: 3 } update_config: { parallelism: 0, failure_action: rollback, max_failure_ratio: 1, order: stop-first } # gogs ci drone_server: image: drone/drone:1.0.0-rc.3 logging: { <<: *logging } deploy: &drone_deploy replicas: 1 volumes: [ '/var/lib/drone:/data' ] # 不用 mysql 的话就通过 volume 挂载数据卷来保存 sqlite3 的数据库文件 # depends_on: [ mysql ] environment: # - 'DRONE_DATABASE_DATASOURCE=drone:drone@tcp(mysql:3306)/drone_1?parseTime=true' # - DRONE_DATABASE_DRIVER=mysql - DRONE_GIT_ALWAYS_AUTH=false - DRONE_GITLAB_SERVER=https://gitlab.com - DRONE_GITLAB_CLIENT_ID=xxxxxxxxxx - DRONE_GITLAB_CLIENT_SECRET=xxxxxxxxxxxxxxxxxxxxxxx - DRONE_RPC_SECRET=yyyyyyyyyyyyyyy - DRONE_SERVER_HOST=drone.company.com - DRONE_SERVER_PROTO=https - DRONE_TLS_AUTOCERT=false # 这里设置管理垣 - DRONE_USER_CREATE=username:shynome,admin:true # 这个是用来过滤 用户名 和 组织 可以注册的 - DRONE_USER_FILTER=shynome drone_agent: image: drone/agent:1.0.0-rc.3 logging: { <<: *logging } deploy: { <<: *drone_deploy } volumes: [ '/var/run/docker.sock:/var/run/docker.sock' ] environment: - DRONE_RPC_SERVER=https://drone.company.com - DRONE_RPC_SECRET=yyyyyyyyyyyyyyy # 该机器运行最大同时运行的任务数 - DRONE_RUNNER_CAPACITY=5 # .drone.yml 里面可以指定这里的机器名字 - DRONE_RUNNER_NAME=drone-agent1.company.com
然后这是我的 caddy 配置文件
caddy
# filename: /work/proxy.d/drone.conf drone.company.com { gzip { not /api/stream } proxy / drone_server:80 { websocket transparent } }
最近 Drone 发布 1.0-RC3 的版本, 更新支持了 多机器(每个机器上运行一个agent), 多平台(windows, arm ...) 构建 官方文档链接: https://docs.drone.io/
下面是我基于 gitlab 的部署文件:
然后这是我的
caddy
配置文件