日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux中安裝部署Docker管理工具Drone的操作方法-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)Linux中安裝部署Docker管理工具Drone的操作方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南陵企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè),南陵網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Drone 是一個(gè)構(gòu)建在Docker之上的開源持續(xù)集成平臺(tái)(CI)。Drone 提供了一組預(yù)建的Docker映像,支持12+種語言和幾乎所有主要的數(shù)據(jù)庫。這意味著你不必花時(shí)間來安裝軟件和配置您的構(gòu)建環(huán)境。當(dāng)然,如果你需要一個(gè)高度定制的環(huán)境Drone提供了足夠的靈活性來使用自定義Docker映像。

Drone 完全采用Go語言開發(fā)。具有快速,高效的特點(diǎn)。

與其他的CI服務(wù)相比有什么不同?
1.Drone是開源的
2.Drone是構(gòu)建在Docker之上
3.Drone 輕松托管在自己的基礎(chǔ)架構(gòu)之上
4.Drone 提供一個(gè) CLI 來運(yùn)行本地構(gòu)建,在Docker容器中
5.Drone 默認(rèn)與 GitHub 集成,很快將支持Bitbucket patch

1. 安裝 Docker

首先,我們要安裝 docker,因?yàn)檫@是 Drone 的工作流的最關(guān)鍵的元素。Drone 合理的利用了 docker 來構(gòu)建和測(cè)試應(yīng)用。容器技術(shù)提高了應(yīng)用部署的效率。要安裝 docker ,我們需要在不同的 linux 發(fā)行版本運(yùn)行下面對(duì)應(yīng)的命令,我們這里會(huì)說明 Ubuntu 14.04 和 CentOS 7 兩個(gè)版本。

Ubuntu

要在 Ubuntu 上安裝 Docker ,我們只需要運(yùn)行下面的命令。



代碼如下:


# apt-get update
# apt-get install docker.io



安裝之后我們需要使用service 命令重啟 docker 引擎。



代碼如下:


# service docker restart



然后我們讓 docker 在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)。



代碼如下:


# update-rc.d docker defaults
Adding system startup for /etc/init.d/docker ...
/etc/rc0.d/K20docker -> ../init.d/docker
/etc/rc1.d/K20docker -> ../init.d/docker
/etc/rc6.d/K20docker -> ../init.d/docker
/etc/rc2.d/S20docker -> ../init.d/docker
/etc/rc3.d/S20docker -> ../init.d/docker
/etc/rc4.d/S20docker -> ../init.d/docker
/etc/rc5.d/S20docker -> ../init.d/docker



CentOS

第一,我們要更新機(jī)器上已經(jīng)安裝的軟件包。我們可以使用下面的命令。



代碼如下:


#  sudo yum update



要在 centos 上安裝 docker,我們可以簡(jiǎn)單的運(yùn)行下面的命令。



代碼如下:


#  curl -sSL https://get.docker.com/ | sh



安裝好 docker 引擎之后我么只需要簡(jiǎn)單使用下面的systemd 命令啟動(dòng) docker,因?yàn)?centos 7 的默認(rèn)初始化系統(tǒng)是 systemd。



代碼如下:


# systemctl start docker



然后我們要讓 docker 在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)。



代碼如下:


# systemctl enable docker


代碼如下:


ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'


2. 安裝 SQlite 驅(qū)動(dòng)

Drone 默認(rèn)使用 SQlite3 數(shù)據(jù)庫服務(wù)器來保存數(shù)據(jù)和信息。它會(huì)在 /var/lib/drone/ 自動(dòng)創(chuàng)建名為 drone.sqlite 的數(shù)據(jù)庫來處理數(shù)據(jù)庫模式的創(chuàng)建和遷移。要安裝 SQlite3 我們要完成以下幾步。

Ubuntu 14.04

因?yàn)?SQlite3 存在于 Ubuntu 14.04 的默認(rèn)軟件庫,我們只需要簡(jiǎn)單的使用 apt 命令安裝它。



代碼如下:


# apt-get install libsqlite3-dev



CentOS 7

要在 Centos 7 上安裝需要使用下面的 yum 命令。



代碼如下:


# yum install sqlite-devel


3. 安裝 Drone

最后,我們安裝好依賴的軟件,我們現(xiàn)在更進(jìn)一步的接近安裝 Drone。在這一步里我們只簡(jiǎn)單的從官方鏈接下載對(duì)應(yīng)的二進(jìn)制軟件包,然后使用默認(rèn)軟件包管理器安裝 Drone。

Ubuntu

我們將使用 wget 從官方的 Debian 文件下載鏈接下載 drone 的 debian 軟件包。下面就是下載命令。



代碼如下:


# wget downloads.drone.io/master/drone.deb
Resolving downloads.drone.io (downloads.drone.io)... 54.231.48.98
Connecting to downloads.drone.io (downloads.drone.io)|54.231.48.98|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7722384 (7.4M) [application/x-debian-package]
Saving to: 'drone.deb'
100%[======================================>] 7,722,384 1.38MB/s in 17s
2015-11-06 14:09:28 (456 KB/s) - 'drone.deb' saved [7722384/7722384]



下載好之后,我們將使用 dpkg 軟件包管理器安裝它。



代碼如下:


# dpkg -i drone.deb
Selecting previously unselected package drone.
(Reading database ... 28077 files and directories currently installed.)
Preparing to unpack drone.deb ...
Unpacking drone (0.3.0-alpha-1442513246) ...
Setting up drone (0.3.0-alpha-1442513246) ...
Your system ubuntu 14: using upstart to control Drone
drone start/running, process 9512



CentOS

在 CentOS 機(jī)器上我們要使用 wget 命令從下載鏈接下載 RPM 包。



代碼如下:


# wget downloads.drone.io/master/drone.rpm
--2015-11-06 11:06:45-- http://downloads.drone.io/master/drone.rpm
Resolving downloads.drone.io (downloads.drone.io)... 54.231.114.18
Connecting to downloads.drone.io (downloads.drone.io)|54.231.114.18|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7763311 (7.4M) [application/x-redhat-package-manager]
Saving to: ‘drone.rpm’
100%[======================================>] 7,763,311 1.18MB/s in 20s
2015-11-06 11:07:06 (374 KB/s) - ‘drone.rpm’ saved [7763311/7763311]



然后我們使用 yum 安裝 rpm 包。



代碼如下:


# yum localinstall drone.rpm


4. 配置端口

安裝完成之后,我們要先進(jìn)行配置才能工作起來。drone 的配置文件在/etc/drone/drone.toml 。默認(rèn)情況下 drone 的 web 接口使用的是80,而這也是 http 默認(rèn)的端口,如果我們修改它,請(qǐng)按下面所示的修改配置文件里 server 塊對(duì)應(yīng)的值。



代碼如下:


[server]
port=":80"


5. 集成 Github

為了運(yùn)行 Drone 我們必須設(shè)置最少一個(gè)和 GitHub、GitHub 企業(yè)版,Gitlab,Gogs,Bitbucket 關(guān)聯(lián)的集成點(diǎn)。在本文里我們只集成了 github,但是如果我們要集成其他的服務(wù),我們可以在配置文件做修改。為了集成 github 我們需要在github 的設(shè)置里創(chuàng)建一個(gè)新的應(yīng)用:https://github.com/settings/developers 。
Linux中安裝部署Docker管理工具Drone的操作方法

要?jiǎng)?chuàng)建一個(gè)應(yīng)用,我們需要在 New Application 頁面點(diǎn)擊 Register,然后如下所示填表。
Linux中安裝部署Docker管理工具Drone的操作方法

我們應(yīng)該保證在應(yīng)用的配置項(xiàng)里設(shè)置了授權(quán)回調(diào)鏈接,鏈接看起來類似 http://drone.linoxide.com/api/auth/github.com。然后我們點(diǎn)擊注冊(cè)應(yīng)用。所有都做好之后我們會(huì)看到我們需要在我們的 Drone 配置文件里配置的客戶端 ID 和客戶端密鑰。
Linux中安裝部署Docker管理工具Drone的操作方法

在這些都完成之后我們需要使用文本編輯器編輯 drone 配置文件,比如使用下面的命令。



代碼如下:


# nano /etc/drone/drone.toml



然后我們會(huì)在 drone 的配置文件里面找到[github] 部分,緊接著的是下面所示的配置內(nèi)容



代碼如下:


[github]
client="3dd44b969709c518603c"
secret="4ee261abdb431bdc5e96b19cc3c498403853632a"
# orgs=[]
# open=false



Linux中安裝部署Docker管理工具Drone的操作方法

6. 配置 SMTP 服務(wù)器

如果我們想讓 drone 使用 email 發(fā)送通知,那么我們需要在 SMTP 配置里面設(shè)置我們的 SMTP 服務(wù)器。如果我們已經(jīng)有了一個(gè) SMTP 服務(wù),那就只需要簡(jiǎn)單的使用它的配置文件就行了,但是因?yàn)槲覀儧]有一個(gè) SMTP 服務(wù)器,我們需要安裝一個(gè) MTA 比如 Postfix,然后在 drone 配置文件里配置好 SMTP。

Ubuntu

在 ubuntu 里使用下面的 apt 命令安裝 postfix。



代碼如下:


# apt-get install postfix



CentOS

在 CentOS 里使用下面的 yum 命令安裝 postfix。



代碼如下:


# yum install postfix



安裝好之后,我們需要編輯我們的 postfix 配置文件。



代碼如下:


# nano /etc/postfix/main.cf



然后我們要把 myhostname 的值替換為我們自己的 FQDN,比如 drone.linoxide.com。



代碼如下:


myhostname = drone.linoxide.com



現(xiàn)在開始配置 drone 配置文件里的 SMTP 部分。



代碼如下:


# nano /etc/drone/drone.toml



找到[smtp] 部分補(bǔ)充上下面的內(nèi)容。



代碼如下:


[smtp]
host = "drone.linoxide.com"
port = "587"
from = "root@drone.linoxide.com"
user = "root"
pass = "password"



Linux中安裝部署Docker管理工具Drone的操作方法

注意:這里的 user 和 pass 參數(shù)強(qiáng)烈推薦一定要改成某個(gè)具體用戶的配置。

7. 配置 Worker

如我們所知的 drone 利用了 docker 完成構(gòu)建、測(cè)試任務(wù),我們需要把 docker 配置為 drone 的 worker。要完成這些需要修改 drone 配置文件里的[worker] 部分。



代碼如下:


# nano /etc/drone/drone.toml



然后取消底下幾行的注釋并且補(bǔ)充上下面的內(nèi)容。



代碼如下:


[worker]
nodes=[
"unix:///var/run/docker.sock",
"unix:///var/run/docker.sock"
]



這里我們只設(shè)置了兩個(gè)節(jié)點(diǎn),這意味著上面的配置文件只能同時(shí)執(zhí)行2 個(gè)構(gòu)建操作。要提高并發(fā)性可以增大節(jié)點(diǎn)的值。



代碼如下:


[worker]
nodes=[
"unix:///var/run/docker.sock",
"unix:///var/run/docker.sock",
"unix:///var/run/docker.sock",
"unix:///var/run/docker.sock"
]



使用上面的配置文件 drone 被配置為使用本地的 docker 守護(hù)程序可以同時(shí)構(gòu)建4個(gè)任務(wù)。

8. 重啟 Drone

最后,當(dāng)所有的安裝和配置都準(zhǔn)備好之后,我們現(xiàn)在要在本地的 linux 機(jī)器上啟動(dòng) drone 服務(wù)器。

Ubuntu

因?yàn)?ubuntu 14.04 使用了 sysvinit 作為默認(rèn)的初始化系統(tǒng),所以只需要簡(jiǎn)單執(zhí)行下面的 service 命令就可以啟動(dòng) drone 了。



代碼如下:


# service drone restart



要讓 drone 在系統(tǒng)啟動(dòng)時(shí)也自動(dòng)運(yùn)行,需要運(yùn)行下面的命令。



代碼如下:


# update-rc.d drone defaults



CentOS

因?yàn)?CentOS 7使用 systemd 作為初始化系統(tǒng),所以只需要運(yùn)行下面的 systemd 命令就可以重啟 drone。



代碼如下:


# systemctl restart drone



要讓 drone 自動(dòng)運(yùn)行只需要運(yùn)行下面的命令。



代碼如下:


# systemctl enable drone


9. 添加防火墻例外規(guī)則

眾所周知 drone 默認(rèn)使用了80 端口而我們又沒有修改它,所以我們需要配置防火墻程序允許80 端口(http)開放并允許其他機(jī)器可以通過網(wǎng)絡(luò)連接。

Ubuntu 14.04

iptables 是最流行的防火墻程序,并且 ubuntu 默認(rèn)安裝了它。我們需要修改 iptable 以暴露端口80,這樣我們才能讓 drone 的 web 界面在網(wǎng)絡(luò)上被大家訪問。



代碼如下:


# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# /etc/init.d/iptables save



CentOS 7

因?yàn)?CentOS 7 默認(rèn)安裝了 systemd,它使用 firewalld 作為防火墻程序。為了在 firewalld 上打開80端口(http 服務(wù)),我們需要執(zhí)行下面的命令。



代碼如下:


# firewall-cmd --permanent --add-service=http
success
# firewall-cmd --reload
success


10. 訪問 web 界面

現(xiàn)在我們將在我們最喜歡的瀏覽器上通過 web 界面打開 drone。要完成這些我們要把瀏覽器指向運(yùn)行 drone 的服務(wù)器。因?yàn)?drone 默認(rèn)使用80 端口而我們有沒有修改過,所以我們只需要在瀏覽器里根據(jù)我們的配置輸入http://ip-address/ 或 http://drone.linoxide.com 就行了。在我們正確的完成了上述操作后,我們就可以看到登錄界面了。
Linux中安裝部署Docker管理工具Drone的操作方法

因?yàn)樵谏厦娴牟襟E里配置了 Github,我們現(xiàn)在只需要簡(jiǎn)單的選擇 github 然后進(jìn)入應(yīng)用授權(quán)步驟,這些完成后我們就可以進(jìn)入工作臺(tái)了。
Linux中安裝部署Docker管理工具Drone的操作方法

這里它會(huì)同步我們?cè)?github 上的代碼庫,然后詢問我們要在 drone 上構(gòu)建那個(gè)代碼庫。
Linux中安裝部署Docker管理工具Drone的操作方法

這一步完成后,它會(huì)詢問我們?cè)诖a庫里添加.drone.yml 文件的新名稱,并且在這個(gè)文件里定義構(gòu)建的過程和配置項(xiàng),比如使用那個(gè) docker 鏡像,執(zhí)行那些命令和腳本來編譯,等等。

我們按照下面的內(nèi)容來配置我們的.drone.yml。



代碼如下:


image: python
script:
- python helloworld.py
- echo "Build has been completed."



這一步完成后我們就可以使用 drone 應(yīng)用里的 YAML 格式的配置文件來構(gòu)建我們的應(yīng)用了。所有對(duì)代碼庫的提交和改變此時(shí)都會(huì)同步到這個(gè)倉庫。一旦提交完成了,drone 就會(huì)自動(dòng)開始構(gòu)建。
Linux中安裝部署Docker管理工具Drone的操作方法

所有操作都完成后,我們就能在終端看到構(gòu)建的結(jié)果了。
Linux中安裝部署Docker管理工具Drone的操作方法

看完上述內(nèi)容,你們對(duì)Linux中安裝部署Docker管理工具Drone的操作方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享題目:Linux中安裝部署Docker管理工具Drone的操作方法-創(chuàng)新互聯(lián)
分享URL:http://www.dlmjj.cn/article/cedgch.html