CI 工具 Drone 搭建笔记

本文记录了如何在Docker环境下部署GitLab和Drone CI的过程,包括查找与拉取Docker镜像、配置GitLab、启动Drone Server和Runner,以及验证WebHook和使用Drone进行持续集成。详细步骤涵盖从创建OAuth程序到编辑项目中的.drone.yml文件,确保Drone能顺利执行单元测试并发送结果。

注意: 这是一篇笔记,不是实践教程。
说明:

  • 下述内容在同一台机器进行,所以涉及一些配置问题,请留意
  • 当前环境有 Docker,下述操作全部依赖 Docker 环境进行
  • 假设本机 IP 为 10.10.10.10

使用 Docker 部署 GitLab

参考文章:docker部署gitlab
提示:部署 GitLab 建议选用性能高的机器。开始使用 Mac 双核 8 G,启动 GitLab 后,访问会超时,电脑基本没法做其他事。

查找 docker image

docker search gitlab

拉取 docker image

说明:该 image 约 2 G,故采用阿里云镜像仓库速度更快

docker pull sy4qpddk.mirror.aliyuncs.com/gitlab/gitlab-ce

启动 GitLab container

docker run \
 -itd  \
 -p 9980:9980 \
 -p 9922:22 \
 -v /usr/local/gitlab-test/etc:/etc/gitlab  \
 -v /usr/local/gitlab-test/log:/var/log/gitlab \
 -v /usr/local/gitlab-test/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab-test \
 --hostname 10.10.10.10 \
 --add-host drone.weiyi556.com:10.10.10.10 \
 sy4qpddk.mirror.aliyuncs.com/gitlab/gitlab-ce

主要参数解释:

  • -p 9980:9980:保持端口一致,为了保障可以访问 GitLab 页面和 git clone 时端口正常
  • -p 9922:22:用于 git clone,由于宿主机 22 端口被占用,需映射到宿主机其他端口
  • –add-host:添加 host 的目的是方便后面 Drone 与 GitLab 鉴权 callback 使用

修改 GitLab 配置

后续会面临一个问题,git clone 时,host 显示为 container id ,导致 drone 拉取代码失败,需要更改 git clone 时的地址。

修改 gitlab.rb

由于上述启动命令,已将部分配置挂载在宿主机,所以直接在宿主机修改配置就行,无需进入容器。如果进入容器修改,重启容器后,配置会失效。

vim /usr/local/gitlab-test/etc/gitlab.rb

找到如下几行内容,默认全部已注释,进行修改

···
external_url 'http://10.10.10.10:9980/'
···
gitlab_rails[
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值