由于这前用python写的发布工具过于简陋,不能满足扩展需求,调研后发现 gogs+drone环境相对简单,so
gogs安装
- 官网下载最新版本安装即可,根据提示配置
- 前两次数据库没配好,安装界面点提交没反应,配好后正常
- 由于其他用户无法用80端口,所以前置了nginx代理
location / {
proxy_pass http://localhost:8080/;
}
- 放行本地构子
- 在app.ini最后添加:LOCAL_NETWORK_ALLOWLIST = drone,192.168.20.111,192.168.20.120
docker安装
由于drone仅支持docker配置,所以安装了docker
- 安装docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
cat docker.list
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo service docker start #装完默认没启动
- 建议将本地用户名加到docker组,不然会报错
- 替换国内源并重启服务
sudo gpasswd -a `USERNAME` docker #USERNAME 为用户名
sudo newgrp docker
- 安装docker可视化环境FAST OS DOCKER
- 装完可以http://IP:8081/打开
- 默认用户名密码 admin/88888888
- 参考: https://cloud.tencent.com/developer/article/1946060
docker pull wangbinxingkong/fast
docker run --restart always --name fast -p 8081:8081 -d -v /var/run/docker.sock:/var/run/docker.sock wangbinxingkong/fast
drone安装
- 安装server
- 安装runner
- 也是参照官网,我装的是dockerRunner方便打包时隔离
- DRONE_RPC_HOST 直接用镜像名会报错,可以用ip或nginx加个域名
drone任务配置
- 使用gogs管理员帐户密码登录后,会自动同步仓库
- 仓库下新建 .drone.yaml文件,即可执行任务