使用更快的CI/CD组合Gogs+Drone,带你爬坑

为什么使用Drone

为了达到持续集成和持续交付,必须要提高自动构建/测试/发布工作流的过程,除了使用Git+Jekins的组合,我发现了另一个组合Gogs+Drone,当然Drone也可以组合Github、Gitlab等,然后因为Drone比Jekins好的一点是,比较轻量级,而且界面优雅,安装使用Docker直接拉取镜像,能高效集成流水线化测试,编译和部署

如何构建Gogs+Drone

1.Linux环境中安装Docker服务

#具体安装哪些服务,参考https://www.runoob.com/docker/centos-docker-install.html
systemctl status docker.service

#如果起不来,查看下这个文件,需要tab一下空格,然后再start docker就起来了
[root@172-0-10-194 ~]# cat /etc/docker/daemon.json
{
	"registry-mirrors": ["https://qiyb9988.mirror.aliyuncs.com"]
}

2.安装Gogs

在宿主机上下载Gogs的镜像

docker pull gogs/gogs

运行Gogs镜像

docker run -p 10022:22 -p 10080:3000 --name=gogs \
-e TZ="Asia/Shanghai" \
-v /mydata/gogs:/data  \
-d gogs/gogs

登录界面安装Gogs配置(***第一次登陆时必须配置的参数

http://宿主机IP:10080/

服务端Gogs管理项目(***创建仓库时记得选择使用选定的文件和初始化仓库

客户端自己本地管理项目(使用git远程下载和上传)

git clone http://xxxx

git push

3.安装Drone

安装镜像

# Drone的Server
docker pull drone/drone:1
# Drone的Runner
docker pull drone/drone-runner-docker:1

运行drone镜像和drone-runner镜像

docker run \
  -v /mydata/drone:/data \
  -e DRONE_AGENTS_ENABLED=true \
  -e DRONE_GOGS_SERVER=http://172.0.10.194:10080 \
  -e DRONE_RPC_SECRET=dronerpc666 \
  -e DRONE_SERVER_HOST=172.0.10.194:3080 \
  -e DRONE_SERVER_PROTO=http \
  -e DRONE_USER_CREATE=username:huangtao,admin:true \
  -e TZ="Asia/Shanghai" \
  -p 3080:80 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1
docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST=172.0.10.194:3080 \
  -e DRONE_RPC_SECRET=dronerpc666 \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=runner-docker \
  -e TZ="Asia/Shanghai" \
  -p 3000:3000 \
  --restart always \
  --name runner-docker \
  drone/drone-runner-docker:1

安装完后直接web登录Drone

http://宿主机IP:3080/

此时创建的项目不会自动构建,还需要完成两步(***Drone上勾选参数,Gogs中指定项目创建.drone.yml文件

kind: pipeline
name: default
steps:
    -   name: Hello World
        image: centos
        commands:
            - echo Hello World

最后确认下Gogs中的项目是否能自动触发给Drone中,如果是绿色的对勾就代表打通了

 

下一篇打算总结写一下.drone.yml文件,以上内容有问题的欢迎随时交流

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值