本文将用简单的方法介绍Drone的基本流程,给大家提供一个整体的概念,不做深入展开,后续文章会对各种细节从原理和代码角度深入研究。
Drone webhook 触发方式
Drone 整个buid流程是由scm(源代码管理工具)触发的,是由scm采用webhook的方式来触发执行的,
什么是webhook,webhook基本原理是什么:
webhook与异步编程中"订阅-发布模型"非常类似,一端触发事件,一端监听执行,一端是发起者,一端是执行者。或者理解为Webhooks是用户定义的HTTP回调(可以用js 的callback理解),它们通常由预定义的事件触发,例如用户push代码到对应的repo。
在Drone中scm(源代码管理工具)相当于发起者,当相关事件发生,如用户commit并push代码到repo中,源代码管理工具调用事先注册好的,在drone中预定义的web API,将数据(参数)传给web API并执行对应方法,触发整个build流程。
Drone build step 实际运行方式
-
Drone中所有step实际上都是在container中执行的(1.1 版本计划可以本地执行的step),用定义好镜像启动一个container,然后利用配置好的参数(用环境变量传入container)在containe