type
status
date
slug
summary
tags
category
icon
password
AI summary
Last edited time
Feb 20, 2024 02:21 AM
Drone CI 安装
参考官方教程, 事先在 gitea 中创建新的 Oauth2 应用
重定向 URI 根据实际情况填写, 例如这里 http://drone.sephy.io/login

接下来通过 docker 启动 drone
启动成功后 访问 http://drone.sephy.io

点击 continue 会进入 gitea 的 oauth2 认证流程, 成功后会返回 drone 进入主页

到此安装步骤完成
流水线配置
drone ci 的核心是通过项目里的 .drone.yml 来定义流水线步骤, 这里查阅了很多资料, 结合自身实际情况搞出来这么一个适用于 spring boot + docker 构建部署的流水线, 其中流水线脚本涉及到的用户名密码, 可以通过 drone 的 secret 维护起来

完整的流水线如下:
- maven wrapper 构建(因为我用的私有 maven 库不支持 https, maven wrapper 用的 3.6.3 版本);
- docker 镜像构建上传(这里又涉及到配置 nexus 支持 docker 私服, 我又折腾了很久);
- 到指定机器部署
编写完成后, 提交到 gitea, 发现配置的 webhook 不能正常触发, 发现 gitea 需要配置 ALLOWED_HOST_LIST, 顺带修改 gitea 的 docker compose, 增加对应配置, 重启 gitea
然后尝试推送新的代码, OK, 大功告成!
