容器時代的持續交付工具---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配置的地址,就可以進入系統進行使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM