您的位置:首页 > 其它

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

2019-09-25 23:49 1471 查看

 

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配置的地址,就可以进入系统进行使用

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: