Docker 安装 Gitea + Drone 开源代码仓库及 CI/CD 教程

前言

早期写过一篇 Gitlab的代码仓库安装教程,但是 Gitlab 还是太重,不太适合个人或者小型团队使用.于是最近尝试使用了一下 gitea,并结合 drone来实现 CI/CD需求.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

部署

注意:本文示例是将服务器 22端口预留给 GiteaSSH使用,如果 22端口已被其他程序占用,可以参考官方文档配置端口转发.

docker-compose 部署 Gitea

本节仅部署 Gitea代码仓库和 MariaDB数据库,如需搭配 Drone,请继续阅读下文.

docker-compose.yml

nginx 反向代理

配置 nginx反向代理,本文以 dnmp环境的配置为例,请根据实际环境来修改相关路径配置.

docker-compose 部署 Gitea 及 Drone

docker-compose.yml

nginx 反向代理

配置 nginx反向代理,本文以 dnmp环境的配置为例,请根据实际环境来修改相关路径配置.
Giteagit.ioiox.com反向代理配置参考上节.
Dronedrone.ioiox.com反向代理配置参考如下:

安装配置

Gitea 配置

访问域名 https://git.ioiox.com开始配置 Gitea.
首次访问首页会自动填充数据库密码,参考下图继续配置:
Docker 安装 Gitea + Drone 开源代码仓库及 CI/CD 教程

SSH 服务域名 参考下图仅填写域名,注意不要填写 https协议.
SSH 服务端口 填写 22端口,由于本文示例是将 22端口给 Gitea使用,所以此处无需修改.
HTTP 服务端口 默认 3000,根据上文 docker-compose.yml配置,无需修改,由 nginx反向代理即可.
基础URL 填写完整的 https://git.ioiox.com域名.

注意以上这些设置将会影响系统服务,仓库页面的命令显示,邮件通知等等,请仔细填写.或后续在 app.ini 中修改.

2329312963

配置电子邮件设置,此处需要注意的是 SMTP 主机名 需要指定端口,同时创建管理员账号.

667329342

点击 立即安装即可完成初始化配置并登陆.

2203876392

Drone 配置

创建仓库

3251105359
1105638422

设置 – 应用 – 创建新的 OAuth2 应用程序
应用名称 – 随意命名
重定向 URI – 按照下图填写域名地址
154072601
创建应用获取 客户端D客户端密钥
此时需要 docker-compose down停止容器,并修改 docker-compose.yml中的:

  • DRONE_GITEA_CLIENT_ID=ecb4b239-3c2d-4f23-b914-8e947843eb17
  • DRONE_GITEA_CLIENT_SECRET=CqOwAaAhvZRKV3PdI0GLgbrZSSNWF0cgwiNr5PfHpIl8

替换为上文生成的 客户端D客户端密钥,再次执行 docker-compose up -d启动容器.
1878553814
访问 drone.ioiox.com
1756066284
登陆过 Gitea后可以直接开始应用授权
3959933624
完善信息
2888283143
成功登陆并显示了 Gitea里创建的仓库.
221059565
点击进去激活仓库
1270254208

4135425530
回到 Gitea仓库,创建一个测试工作流,并提交代码.

2257606411
Drone监测到代码提交开始进行工作流.
1087353208
测试完毕
2080647822

其他相关配置

管理后台 – 应用配置
检查邮件服务是否成功,如配置有误,可以在 gitea/gitea/conf/app.ini修改 [mailer]

设置 – SSH / GPG 密钥
将本地的 id_rsa.pub添加到密钥中,即可使用 git clone git@git.ioiox.com:stille/test.git来管理代码仓库.

由于使用时间过短,后续还有更多相关配置在更新本文.

本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享