初步尝试使用Drone CI

2

Drone是一款持续集成(Continuous integration,CI)软件,可以帮助开发人员随着代码更改的提交自动进行一系列工作,包括静态分析、打包编译以及分发或部署等工作。
Drone采用go编写,具有较高的执行效率、较低的资源占用,相较于传统的Jenkins以及Jetbrains的TeamCity来说更为轻量。
Drone大致可以分为两部分,一部分为Server,用于提供主体用户界面及Drone本身的服务,另一部分为Runner,具体执行CI的各个任务。按照Drone文档的说法,在能够使用Docker Runner的情况下应该尽量使用Docker Runner来确保隔离性;但如果项目的构建或相关工作无法在容器中完成,也可以使用Exec Runner或SSH Runner,它们会使用主机的默认shell执行CI任务,因此仅适合于确保安全、受信任的构建。
在Drone中,CI的任务大多数可以通过流水线(pipeline)完成,下方为一个自动构建docker映像、推送registry并自动部署的流水线文件示例:

注意上方配置文件中,可以使用from_secret来使用Drone提供的密文存储来避免敏感信息被记录在流水线配置文件中。

Comments

您的电子邮箱地址不会被公开。 必填项已用*标注