基于drone构建CI-CD系统

本文介绍了如何基于Drone构建CI/CD系统,并详细阐述了与Kubernetes的集成过程,包括Kubernetes集群安装、CI概念、代码仓库管理、Drone的安装与使用、插件原理,以及对接K8s的实践,强调了代码化自动化的重要性和效率提升。
摘要由CSDN通过智能技术生成

kubernetes集群三步安装

CI 概述

用一个可描述的配置定义整个工作流

程序员是很懒的动物,所以想各种办法解决重复劳动的问题,如果你的工作流中还在重复一些事,那么可能就得想想如何优化了

持续集成就是可以帮助我们解决重复的代码构建,自动化测试,发布等重复劳动,通过简单一个提交代码的动作,解决接下来要做的很多事。

容器技术使这一切变得更完美。

典型的一个场景:

我们写一个前端的工程,假设是基于vue.js的框架开发的,提交代码之后希望跑一跑测试用例,然后build压缩一个到dist目录里,再把这个目录的静态文件用nginx代理一下。最后打成docker镜像放到镜像仓库。 甚至还可以增加一个在线上运行起来的流程。

现在告诉你,只需要一个git push动作,接下来所有的事CI工具会帮你解决!这样的系统如果你还没用上的话,那请问还在等什么。接下来会系统的向大家介绍这一切。

代码仓库管理

首先SVN这种渣渣软件就该尽早淘汰,没啥好说的,有git真的没有SVN存在的必要了我觉得。

所以我们选一个git仓库,git仓库比较多,我这里选用gogs,gitea gitlab都行,根据需求自行选择

docker run -d --name gogs-time -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai --publish 8022:22 \
           --publish 3000:3000 --volume /data/gogs:/data gogs:latest

访问3000端口,然后就没有然后了gogs功能没有那么强大,不过占用资源少,速度快,我们稳定运行了几年了。缺点就是API不够全。

CI 工具

当你用过drone之后。。。

装:

version: '2'

services:
  drone-server:
    image: drone/drone:0.7
    ports:
      - 80:8000
    volumes:
      - /var/lib/drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=true
      - DOCKER_API_VERSION=1.24
      - DRONE_HOST=10.1.86.206
      - DRONE_GOGS=true
      - DRONE_GOGS_URL=http://10.1.86.207:3000/   # 代码仓库地址
      - DRONE_SECRET=ok

  drone-agent:
    image: drone/drone:0.7
    command: agent
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DOCKER_API_VERSION=1.24
      - DRONE_SERVER=ws://drone-server:8000/ws/broker
      - DRONE_SECRET=ok

docker-compose up -d 然后你懂的,也没有然后了

用gogs账户登录drone即可

每个步骤就是个容器,每个插件也是个容器,各种组合,简直就是活字印刷术

怎么使用这种初级肤浅的内容我就不赘述了,但是有很多坑的地方:

  • 装drone的机器能用aufs尽量用,device mapper有些插件是跑不了的,如一些docker in docker的插件,这不算是drone的毛病,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值