1.背景
Drone
是一个持续集成和持续交付的平台,可以与Docker
完美集成。相对于Jenkins
来说更加轻量,可以配合轻量的Gogs
来实现持续集成。
为什么选择Drone而不是Jenkins,为什么选择Gogs而不是gitlab,主要原因是因为更轻量,简洁,更适合自己研究或者小型企业项目(PS:当然也有一部分原因是博主的服务器资源有限,但又想强行玩CICD,哈哈。。。)
话不多说,下面开始操作:
2.Gogs部署
pull镜像:
docker pull gogs/gogs
部署服务:
docker run -d --name gogs -p 10022:22 -p 13000:3000 -v /apps/gogs/data:/data -v /etc/localtime:/etc/localtime gogs/gogs
备注:-v挂载Gogs数据/data目录到宿主机/apps/gogs/data目录,事先创建好
查看服务:
docker ps | grep gogs
备注:由于博主的gogs已配置好,所以服务状态是healthy,正常是starting状态,可以看到服务http访问暴露13000端口
访问服务:配置gogs,http://ip:13000
数据库配置:博主采用的mysql,可选择mysql、postgresql、sqlite3,事先在创建gogs数据库