容器时代的持续交付工具---Drone:Drone介绍与安装

Posted dxp909

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器时代的持续交付工具---Drone:Drone介绍与安装相关的知识,希望对你有一定的参考价值。

 

Drone:Drone is a Container-Native, Continuous Delivery Platform。

官方给的定义,从上面的定义可以得出两个关键点:

1,Container-Native:Cloud-Native是云原生,那Container-Native可以翻译成容器原生,就是说Drone是容器时代的一个产品,是基于容器实现的。

2, Continuous Delivery:持续交付,容器是现在快速交付的一个代名词,而Drone是容器化的一种持续交付的平台,其实Drone不仅仅可以实现持续交付,借助一些plugin,也可以实现持续部署。

官方地址:https://drone.io/

如何安装?

一、Drone是Container-Native的平台,那自然Drone也是使用容器方式来安装的,所以首先要准备容器的运行环境,我们这里使用docker,安装docker具体操作如下:

1,安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

2,配置yum源

yum-config-manager     --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

3,安装docker-ce

yum install docker-ce

4,启动docker

systemctl start docker

 

通过以上方式就完成了docker的安装。

 

二、安装Drone

Drone分两大部分,一部分是server,一部分是agent,先来看server的安装,通过执行以下指令来启动一个drone server 容器

docker run 
--volume=/data:/data
--env=DRONE_AGENTS_ENABLED=true
--env=DRONE_GOGS_SERVER=Gogs地址
--env=DRONE_RPC_SECRET=与agent通信的密钥
--env=DRONE_SERVER_HOST=HOST
--env=DRONE_SERVER_PROTO=http
--env=DRONE_USER_CREATE=username:管理员账号,admin:true
--env=DRONE_LOGS_TRACE=true
--publish=30000:80
--restart=always
--detach=true
--name=drone drone/drone:1.4.0

 几个关键配置:

DRONE_GOGS_SERVER:这里使用的是gogs作为git仓储,当然drone也支持github,gitlab等一些主流的源码管理平台,不同的平台需要设置不同的环境变量,具体参照官方文档参数名称
DRONE_RPC_SECRET:与agent之间通信的密钥,一定要配置
DRONE_SERVER_HOST:设置drone server使用的host名称,可以是ip地址加端口号
DRONE_SERVER_PROTO:使用的协议http/https
DRONE_USER_CREATE:设置初始的管理员,这个是超级管理员
DRONE_LOGS_TRACE:启动日志,默认是关闭的
publish:端口映射

上面指令执行完后,就启动了一个drone server 容器,通过配置的host可以访问系统

下面是安装agent,执行下面的指令来完成:

docker run -d  
-v /var/run/docker.sock:/var/run/docker.sock
-e DRONE_RPC_PROTO=http
-e DRONE_RPC_HOST=server host
-e DRONE_RPC_SECRET=密钥
-e DRONE_RUNNER_CAPACITY=2
-e DRONE_RUNNER_NAME=Host
--env=DRONE_LOGS_TRACE=true
-p 3000:3000
--restart=always
--name runner
drone/agent:1.4.0

 

DRONE_RPC_HOST:上面启动server时配置的host

DRONE_RPC_SECRET:跟server配置的要保持一致

DRONE_RUNNER_CAPACITY:可以同时执行的任务数

DRONE_RUNNER_NAME:一般设置为主机名

到此agent安装完。

 

打开浏览器,输入DRONE_SERVER_HOST配置的地址,就可以进入系统进行使用

技术图片

 

以上是关于容器时代的持续交付工具---Drone:Drone介绍与安装的主要内容,如果未能解决你的问题,请参考以下文章

Drone-比Jenkins更轻量化的持续集成部署工具

使用Drone+gitea配置自己的CICD流程

入门系列之在Ubuntu上安装Drone持续集成环境

使用gogs,drone搭建自动部署

Drone-使用缓存插件优化构建速度

如何选择最佳CI工具:Drone VS. Jenkins