基于gitea+woodpecker的继续集成方案探索
目录
达成目标:当push到仓库主分支时,自动触发构建并部署到服务环境的docker上,实现无感更新
原理简述
gitea作为git仓库,虽然也具有Actions的功能,但是相对较弱,所以使用woodpecker来代替
当有更新推送到gitea的时候,通过hock触发woodpecker
woodpecker使用docker部署,并获取主机的docker控制权,实现部署到环境上
参考资料以及注意点
- OAuth 2.0 的一个简单解释 - 阮一峰的网络日志
- Installation with Docker | Gitea Documentation
- Docker Compose | Woodpecker CI
gitea没啥难道,注意局域网的ip地址写对就行(如果你使用了域名的话,检查好域名),woodpecker使用oauth机制登陆gitea,如果有问题的话会无法登陆
woodpecker分为 woodpecker-server 和 woodpecker-agent 两部分
记得给 woodpecker-server 配置 WOODPECKER_ADMIN 字段为你在gitea上的账号名称,才能让仓库部署到docker上。还得给 woodpecker-server 和 woodpecker-agent 配置同一个网络
其他没有什么卡点,工作流编写的话尝试几次就会了,不难