drone是一中替代jenkins的自动化构建工具,轻量级,可以配合gogs和其他多种git服务端配合使用,这里我们只是展示了gogs的配置。
它分为服务端和运行端,分开的 都是利用docker进行部署,所以可以分开部署和利用docker-compose一起部署。
分开使用docker部署:
#服务端 docker run \ --volume=/app/drone/service:/data \ --env=DRONE_AGENTS_ENABLED=true \ --env=DRONE_GOGS_SERVER=https://gogs.com \ --env=DRONE_RPC_SECRET=key \#这里填key 和下面的运行端一致即可 --env=DRONE_SERVER_HOST=deploy.com \ #域名 --env=DRONE_SERVER_PROTO=https \ --env=DRONE_USER_CREATE=username:username,admin:true\ #有这个用户名才能开启特殊模式才能挂载卷 --publish=89:80 \ --publish=444:443 \ --restart=always \ --detach=true \ --name=drone \ drone/drone:2 #运行端 docker run --detach \ --volume=/var/run/docker.sock:/var/run/docker.sock \ --volume=/app/drone/runner:/droneData \ --env=DRONE_RPC_PROTO=https \ --env=DRONE_RPC_HOST=deploy.com \ --env=DRONE_RPC_SECRET=key\ --env=DRONE_RUNNER_CAPACITY=2 \ --env=DRONE_RUNNER_NAME=my-first-runner \ --publish=3000:3000 \ --restart=always \ --name=runner \ drone/drone-runner-docker:1
分别修改key和域名还有gogs的域名即可启动
或者使用docker-compose 一次启动
脚本:docker-compose.yml
version: '3' services: drone: image: drone/drone:2 container_name: drone volumes: - /app/drone/service:/data environment: - DRONE_AGENTS_ENABLED=true - DRONE_GOGS_SERVER=https://git.com - DRONE_RPC_SECRET=key - DRONE_SERVER_HOST=deploy.com - DRONE_SERVER_PROTO=https - DRONE_USER_CREATE=username:username,admin:true ports: - "89:80" - "444:443" restart: always runner: image: drone/drone-runner-docker:1 container_name: runner volumes: - /var/run/docker.sock:/var/run/docker.sock - /app/drone/runner/docker:/droneData environment: - DRONE_RPC_PROTO=https - DRONE_RPC_HOST=deploy.com - DRONE_RPC_SECRET=key - DRONE_RUNNER_CAPACITY=2 - DRONE_RUNNER_NAME=my-first-runner ports: - "3000:3000" restart: always
然后使用命令启动:
docker-composer up -d