一、需求
想组合一套cicd流程,但是又不想用gitlab+jenkins那么重。
首先说一下我的硬件条件:
- 一台群晖920,两块4T的红盘,20G内存
- 一台华硕tuf的路由器,有联通给的动态外网ip,在路由器做了ddns
再说一下软件条件:
- docker已经安装,并且启动了gogs代码托管的容器
- 群晖开启ssh
启动gogs的容器不用赘述,怎么启动都行,反正drone跟他通信也无所谓。
通过ssh连入群晖机器,启动drone的容器和drone-runner的容器,为什么不能通过群晖docker启动呢?主要因为drone-runner的容器启动需要映射docker.socket,并不是用的docker-dind那种方式,其实用gitlab做ci官方也不是推荐docker-dind的方式。
# drone-server
docker run --volume=/volume/docker/drone:/data --env=DRONE_AGENTS_ENABLED=true --env=DRONE_GOGS_SERVER=http://192.168.5.22:11000 --env=DRONE_RPC_SECRET=super-duper-secret --env=DRONE_SERVER_HOST=192.168.5.22:7080 --env=DRONE_SERVER_PROTO=http -e DRONE_USER_CREATE=username:zcbb,admin:true --publish=7080:80 --publish=7