Drone CI 小试
2024-2-17
| 2024-2-20
字数 779阅读时长 2 分钟
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
 
notion image
 
接下来通过 docker 启动 drone
 
 
启动成功后 访问 http://drone.sephy.io
 
notion image
 
点击 continue 会进入 gitea 的 oauth2 认证流程, 成功后会返回 drone 进入主页
 
notion image
 
到此安装步骤完成

流水线配置

drone ci 的核心是通过项目里的 .drone.yml 来定义流水线步骤, 这里查阅了很多资料, 结合自身实际情况搞出来这么一个适用于 spring boot + docker 构建部署的流水线, 其中流水线脚本涉及到的用户名密码, 可以通过 drone 的 secret 维护起来
notion image
完整的流水线如下:
  1. maven wrapper 构建(因为我用的私有 maven 库不支持 https, maven wrapper 用的 3.6.3 版本);
  1. docker 镜像构建上传(这里又涉及到配置 nexus 支持 docker 私服, 我又折腾了很久);
  1. 到指定机器部署
 
编写完成后, 提交到 gitea, 发现配置的 webhook 不能正常触发, 发现 gitea 需要配置 ALLOWED_HOST_LIST, 顺带修改 gitea 的 docker compose, 增加对应配置, 重启 gitea
 
然后尝试推送新的代码, OK, 大功告成!
 
notion image

📎 参考文章

 
  • Drone CI
  • Spring Boot
  • Java
  • Docker
  • DDD记录N5105 PVE 安装 Debian 运行 docker 实现 jellyfin 硬解
    Loading...