基於gitlab的drone 安裝配置


  drone 他和大部分的ci工具一樣分為server端和agent端或者說runner端,所以搭建它也分為搭建server端和agent端,但是有一個不好的地方就是,你在server端是看不到我這個server連接了幾個agent,但是這個不是什么問題,因為drone會給你找到最合適的agent去編譯,你只需要在.drone.yml文件中定義就好了.

Drone是Container-Native的平台,那自然Drone也是使用容器方式來安裝的,所以首先要准備容器的運行環境,我們這里使用docker.

drone目前支持以下git平台
• github
• gitlab
• gogs
• gitea
• bitbucket cloud
• bitbucket server


首先我們需要在gitlab上新建Oauth
步驟如下
1.進入github后點擊頭像

 

 

 


2.點擊Settings

 

 

 


3.點擊Developer settings

 

 

 

 

4.點擊Oauth Apps 后點擊new oauth app

 

 

 

 

5.填寫相應信息

 

 

 

Application name 填寫你的需要使用Oauth的應用名稱 比如drone 就填寫drone
Homepage URL 填寫使用Oauth 的app的url 比如我本地虛擬機docker搭建的drone 就填寫 http://192.168.1.200
Description 隨意填寫你需要的描述信息
Callback URL 為github認證成功后跳轉的url 我們需要在我們drone的url后加上login后綴 如 http://192.168.1.200/login 此處一定要加不然會一直跳轉認證界面

填寫完成后 完成創建即可

6.進入剛剛創建好的Oauth

 

 

 

 

生成一個客戶端密鑰 完成后如上圖所示即可
至此github上的操作完成了


7.創建drone
首先在drone的宿主機上運行
openssl rand -hex 16
創建一個共享密鑰,保證后續 ci runner 與我們drone 的通信正常。
接着我們使用docker 創建drone容器 以下是官方實例

docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID={{DRONE_GITHUB_CLIENT_ID}} \ #使用第六步生成的client_id
--env=DRONE_GITHUB_CLIENT_SECRET={{DRONE_GITHUB_CLIENT_SECRET}} \ #使用第六步生成的客戶端密鑰
--env=DRONE_RPC_SECRET={{DRONE_RPC_SECRET}} \ #填寫剛剛生成的共享密鑰
--env=DRONE_SERVER_HOST={{DRONE_SERVER_HOST}} \ #填寫drone訪問ip如 安裝docker宿主機ip
--env=DRONE_SERVER_PROTO={{DRONE_SERVER_PROTO}} \ #填寫drone使用的協議如http
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:1


完整實例如下

docker run \
--volume=/var/lib/drone:/data \
--env=DRONE_GITHUB_CLIENT_ID=670424345678932fb9bb \
--env=DRONE_GITHUB_CLIENT_SECRET=97f3204c2e48e3223456fa4567837eceb4e582f9 \
--env=DRONE_RPC_SECRET=5045f012345638ccce3c552345765d59 \
--env=DRONE_SERVER_HOST=192.168.1.200 \
--env=DRONE_SERVER_PROTO=http \
--publish=80:80 \
--publish=443:443 \
--restart=always \
--detach=true \
--name=drone \
drone/drone:1

完成創建如下

 

 

 


8.訪問drone

我們在瀏覽器進行drone的訪問

 

 

 

接着我們點擊授權即可
接着會自動跳轉到我們的drone的控制界面

 

 

 


同步后我們可以選擇自己的項目進行激活
然后我們就可以開始我們的drone的工作啦!!!!!

 


免責聲明!

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



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