Drone+Gitea CICD环境搭建流程笔记

之前没有用过drone,现在公司有用到,看drone.yml配置文件有很多没搞清楚的地方,所以打算自己走一遍配置流程,理清一些概念,这里记下笔记。

为了方便,drone,gitea以及相关软件都是用docker的版本,用docker-compose管理。

概念介绍

在实际操作之前,有必要理清一下drone的概念,和操作流程,否则的话光看配置也是一头雾水。

什么是Drone

说白了就是一个CICD工具,当我们用git提交代码,发布版本,tag,pr等操作就会触发drone上面定义好的的一些流程,帮助我们自动完成发布和部署等一系列你想要完成的操作。下面是它支持的git仓库类型:

什么是Pipeline

Pipeline说白了就是任务组的概念,每个Pipeline包含一些子步骤(steps)。

---
kind: pipeline
type: docker
name: default

steps:
- name: backend
  image: golang
  commands:
  - go build
  - go test

- name: frontend
  image: node
  commands:
  - npm install
  - npm run test

...

比如看上面的配置文件,这个 Pipeline包含了两个steps,第一步build了golang程序,第二步install了node程序。

Pipeline分很多种类,主要是用来说明这个操作是以什么方式执行的,比如ssh 远程一些server执行命令,或者执行一些本地cmd等,下面是它支持的操作种类:

什么时候触发Pipeline

When you push code to your repository, open a pull request, or create a tag, your source control management system automatically sends a webhook to Drone which in turn triggers pipeline execution. Use the triggers section to limit pipeline execution.

在我们提交代码或者pr等操作时可以触发pipeline,因此pipeline需要配置触发条件以管理不同的流程。支持的条件种类有:

比如分支限制:

trigger:
  branch:
    include:
    - master
    - feature/*
trigger:
  branch:
    exclude:
    - master
    - feature/*

 比如事件限制:

trigger:
  event:
  - cron
  - custom
  - push
  - pull_request
  - tag
  - promote
  - rollback
trigger:
  event:
    include:
    - push
    - pull_request
trigger:
  event:
    exclude:
    - pull_request

具体介绍请看官方文档:Triggers | Drone

step也有触发条件

pipeline有触发条件,它的子步骤也可以配置触发条件

kind: pipeline
type: docker
name: default

steps:
- name: build
  image: golang
  commands:
  - go build
  - go test
  when:
    branch:
    - master
    - feature/*

如上面的配置,when属性限制了这个步骤只在master和feature/*分支上的改动才触发。

其它的触发条件有:

官方介绍:Conditions | Drone

什么是 Runner

可能是drone担心用户编排的任务消耗过多的资源,所以drone把执行任务交给了单独的runner来跑,这样一台drone server可以搭配很多runner来执行任务,类似master和slave的概念,server控制task的分发和执行状态的维护,runner跑对应的task。runner有很多种类,比如需要用docker容器跑的任务则必须先安装好docker runner才能把docker类型pipeline发给doker runner执行。

下面是runner的种类:

 安装

我们这里选用gitea作为git仓库软件,官方帮助文档:Gitea | Drone

安装gitea

compos

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值