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介绍与安装的更多相关文章

  1. 容器时代的持续交付工具---Drone:Drone使用

    上一篇文章里已经介绍了如何安装Drone,下面我们来看下如何使用.还是基于gogs作为git仓储. 首先打开server对应的地址,进入登录页面,输入在启动server时配置的管理员账号(对应的就是g ...

  2. 持续交付工具ThoughtWorks Go部署step by step

    持续交付工具ThoughtWorks Go部署step by step http://blogs.360.cn/360cloud/2014/05/13/%E6%8C%81%E7%BB%AD%E4%BA ...

  3. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  4. 持续集成和持续交付工具-jenkins

    jenkins说明 jenkins是一款由Java编写的开源的持续集成工具,它运行在Servlet容器中(例如Apache Tomcat).它支持软件配置管理(SCM)工具(包括AccuRev SCM ...

  5. 持续集成工具-Jenkins 使用介绍

    Jenkins 是一个可扩展的持续集成引擎,可以为我们提供代码自动编译.打包和发布工作,减少部署成本. 一.安装与启动 Jenkins 提供了多种便捷的安装方式,比较推荐使用执行 war 包的方式. ...

  6. secrets 管理工具 Vault 的介绍、安装及使用

    原文:https://ryan4yin.space/posts/expirence-of-vault/ Vault 是 hashicorp 推出的 secrets 管理.加密即服务与权限管理工具.它的 ...

  7. vmware虚拟机工具vmware tools介绍及安装排错

    VMware Tools是VMware虚拟机中自带的一种增强工具,相当于VirtualBox中的增强功能(Sun VirtualBox Guest Additions),是VMware提供的增强虚拟显 ...

  8. MySQL管理工具MySQL Utilities — 介绍与安装(1)

    MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...

  9. [持续交付实践] 开篇:持续集成&持续交付综述

    前言 随着微服务架构与容器虚拟化技术的发展,持续集成与持续交付的概念又重新回到了大家的视野,越来越多的公司开始使用持续集成的系统来解决频繁发布带来的质量问题:使用持续交付的工具来实现代码在不同环境上的 ...

随机推荐

  1. aabccd统计每个字符出现的次数,结果显示{ a: 2, b: 1, c: 2, d: 1 };去掉重复的字符,使结果显示abcd

    遍历字符串的方式和遍历数组的方式有点相似,或者说就是相同的.在学习数组的遍历方法之前,可以通过for循环去遍历数组,同样,字符串也可以:字符串跟数组都有一个length的属性.下面代码奉上,个人思路! ...

  2. SSH开发模式——Struts2(第二小节)

    上一小节已经学会了如何去搭建Struts2的开发环境,该篇博客我们继续深入Struts2,了解Struts2框架的拦截器. 首先对我们在web.xml文件配置的过滤器进行一个源码的分析. 在Strut ...

  3. AVL-平衡二叉树的原理和实现

    一.简介 本文将通过图解和代码详细讲解AVL平衡二叉树的性质及失衡和再平衡的内容.在看本文之前希望大家具备二分搜索树的相关知识.或移步<二分搜索树>了解二分搜索树. 二.平衡二叉树 前面关 ...

  4. Java并发编程——线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  5. ‎CocosBuilder 学习笔记(2) .ccbi 文件结构分析

    ccbi总体结构 CCBReader按字节读取.ccbi内容,每个字节8位二进制. .ccbi总体结构分为4个部分: Header 第0-3字节:ibcc .ccbi文件的标志.readHeader方 ...

  6. Python爬虫爬取全书网小说,程序源码+程序详细分析

    Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

  7. 域渗透-LSA Protection

    简介: 微软在 2014 年 3 月 12 日添加了 LSA 保护策略,用来防止对进程 lsass.exe 的代码注入,这样一来就无法使用 mimikatz 对 lsass.exe 进行注入,相关操作 ...

  8. Python 基础 (三)

    字典排序 dict = {'a':1,'c':3,'b':2} 字典没有sort方法,可使用sorted排序,默认通过key排序 dict = sorted(dict),print(dict)key的 ...

  9. Installing the JMeter CA certificate for HTTPS recording

    参考: http://jmeter.apache.org/usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder User m ...

  10. hdu-6638 Snowy Smile

    题目链接 Snowy Smile Problem Description There are n pirate chests buried in Byteland, labeled by 1,2,-, ...