欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Drone與Jenkins舉例分析

這篇文章主要介紹“Drone與Jenkins舉例分析”,在日常操作中,相信很多人在Drone與Jenkins舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Drone與Jenkins舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)服務項目包括長豐網(wǎng)站建設、長豐網(wǎng)站制作、長豐網(wǎng)頁制作以及長豐網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,長豐網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到長豐省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

介紹

多年來,Jenkins一直是行業(yè)標準的CI工具。它包含了許多功能,在其生態(tài)系統(tǒng)中有近1000個插件,對于那些推崇簡單的人來說,這可能令人望而生畏。Jenkins在容器出現(xiàn)之前就已存在,不過它還是很適合容器環(huán)境的。但也不得不說,以前Jenkins并沒有給予容器什么特殊關注,它并沒有很致力于讓容器變得更好,不過現(xiàn)在Blue Ocean和pipeline的出現(xiàn)和發(fā)展讓這一情況有了很大改觀。

Drone是一個廣受歡迎的開源CI工具。它其實是原生Docker,所有的進程都在容器內進行。這使得Drone非常適合像Kubernetes這樣的平臺,因為在Kubernetes上啟動容器很簡單。

Rancher容器管理平臺對Drone和Jenkins都能提供優(yōu)秀的支持,用戶通過一個自動化的過程即可方便快速地創(chuàng)建Kubernetes集群。我用Rancher 1.6在GCE上部署了K8s 1.8集群,過程之簡單簡直令人驚喜。

本文將把Drone部署在Kubernetes(Rancher)上,并將從以下三個方面比較Drone與Jenkins:

1、平臺安裝和管理

2、插件生態(tài)系統(tǒng)

3、Pipeline細節(jié)

最后,我會對Jenkins及Drone進行一個整體的比較。其實通常情況下,這樣的對比并不會有一個明確的贏家。因為雖然這二者在本質上有一些相同之處,但不同的工具仍然會有不同的核心焦點。

前期準備

在開始之前,我們需要先完成一些設置工作,包括將Drone設置為具有Github帳戶的授權Oauth3應用程序,這部分的工作可以參考Drone的官方技術文檔。

在設置Drone時,我曾遇到過一個問題:Drone與源代碼控制庫之間是一種被動關系。這意味著Drone是通過與Github建立網(wǎng)絡連接的方式來通知事件的。默認行為是建立在push和PR合并事件的基礎上的。為使Github能夠正確地通知Drone,服務器必須對全世界開放。當然,如果有其他內部供應鏈管理軟件,情況可能會有所不同,但這不適用于本文示例的情況。為此,我在GCE上設置了我的Rancher服務器,以便它可以從Github.com訪問。

和其它Kubernetes應用程序一樣,從容器中安裝Drone需要通過一系列部署文件。我調整了在repo中找到的那些部署文件。在配置映射規(guī)范文件中,我們需要修改若干值。也就是說,我們需要為我們的賬戶設置特定的、與Github相關的值。我們將從設置步驟中獲取客戶端密鑰,并將密鑰放入該文件以及授權用戶的用戶名中。通過Drone的密鑰文件,我們可以將Github密碼置于適當處。

Jenkins與源代碼的交互方式則與Drone的方式很不一樣。在Jenkins中,每個作業(yè)都可以獨立于另一個作業(yè)來定義其與源控制的關系。如此一來,用戶就可以從包括Github、Gitlab、svn等各種不同的庫中提取源代碼。而截至目前,Drone只支持基于git的開發(fā)項。

與此同時,不要忘記了Kubernetes集群!Rancher可以輕松啟動和管理Kubernetes集群。本文使用的是最新的穩(wěn)定版Rancher 1.6。然而,Rancher 2.0與Rancher 1.6安裝的信息和步驟是一樣的,因此,如果您想嘗試使用更新的Rancher也未嘗不可。

任務1 - 安裝和管理

在Kubernetes和Rancher上啟動Drone,就像復制粘貼一樣簡單。使用默認的K8s儀表盤啟動文件,從命名空間和配置文件開始依次上傳,Drone就可以開始運行了。[您可在此找到部分我使用到的部署文件:https://github.com/appleboy/drone-on-kubernetes/tree/master/gke]。我從庫中拉取了鏡像并進行了本地的編輯。該repo屬于Drone貢獻者所有,包括有關如何啟動GCE以及AWS的說明。我們在這里唯一需要的只是Kubernetes的yaml文件。要進行復制,只需使用您的特定值編輯ConfigMap文件即可。我的其中一個文件的示例如下:

Drone與Jenkins舉例分析

Jenkins也可以依此方式啟動,由于它可以部署在Docker容器中,因此您可以構建一個類似的部署文件并在Kubernetes上啟動。如下所示,該文件取自Jenkins CI服務器的GCE示例repo。

Drone與Jenkins舉例分析

啟動Jenkins也很簡單。鑒于Docker和Rancher自身的簡單易用性,若您想要啟動Jenkins,只需將一組部署文件粘貼到儀表板中即可。我的首選方法是使用Kubernetes儀表板進行所有管理??梢灾饌€上傳Jenkins文件,讓服務器啟動并運行。

Drone Server是通過在啟動階段設置的配置文件來進行管理的。它必須連接到Github,就意味著要訪問庫的話,需要添加OAuth3 token,以及(在本文示例中)需要用戶名和密碼。后期想要做修改,就需要通過Github授予組織訪問權限,或者用新憑據(jù)來重啟服務器。這么做難免會對開發(fā)工作帶來影響,因為這意味著Drone不能處理多個源。而正如我們前文提到的,Jenkins在這一方面會好一些,它允許任何數(shù)量的源repos,但要注意,每個作業(yè)只能使用一個源。

任務2 - 插件

Drone插件的配置和管理非常簡單。事實上,要成功啟動一個Drone的插件,你需要做的事情并不多。與Jenkins相比,Drone的生態(tài)系統(tǒng)要小得多,但幾乎所有可用的主要工具在Drone中都有插件可用。大多數(shù)主要的云提供商都有插件,并且與流行的源代碼控制repo相集成。如前所述,可以將Drone容器視作“頭等公民”,這意味著每個插件和執(zhí)行的任務都是一個容器。

Jenkins是毫無爭議的插件之王。大多數(shù)情況下,沒有什么任務是Jenkins的插件完成不了的。Jenkins插件的可選擇范圍非常廣,可供使用的插件約有1000個,但有時難就難要在從一系列看上去相似的插件中確定哪個才是最佳選擇。

Drone有用于構建push和鏡像的docker插件,也有用于部署集群的AWS和K8s插件等各種插件。由于Drone平臺推出的時間短,它的插件比Jenkins少得多。然而,這并不影響它們的有效性和易用性。drone.yml文件中的一個簡單節(jié)無需其他輸入就能自動下載、配置和運行選定的插件。此外,由于Drone與容器的關系,每個插件都保存在一個鏡像中,不需要再添加額外項進行管理。如果插件創(chuàng)建者完成了他們的工作, 所有的內容都將包含在該容器中,用戶再無需管理任何依賴關系。

當我為簡單節(jié)點應用程序構建drone.yml文件時,添加Docker插件非常簡單,只需要幾行代碼,鏡像就構建好了,并將其push到我選擇的Dockerhub repo上。在下一節(jié)中,您可以看到標有docker的部分。本節(jié)是配置和運行插件以構建和推動Docker鏡像所需的全部內容。

任務3

最終任務是任何CI系統(tǒng)的基礎。Drone和Jenkins都旨在構建應用程序。最初,Jenkins是針對java應用程序構建的,但多年來,該范圍已經(jīng)擴展到任何可以編譯和執(zhí)行的代碼。Jenkins甚至在新的管道和cron-job方面都游刃有余。然而,盡管它非常適合容器生態(tài)系統(tǒng),但仍舊不是原生容器。

Drone與Jenkins舉例分析

相比之下,這是同一應用的Jenkinsfile。

Drone與Jenkins舉例分析

雖然這個例子解釋起來很冗長,但是您可以看到,構建Docker鏡像可能比Drone更復雜,而且還不包括Jenkins和Docker之間的交互。因為Jenkins不是原生Docker,所以必須提前配置代理以實現(xiàn)與Docker守護進程正確交互。 這可能會令人不解,但正是Drone的發(fā)展方向。Drone已經(jīng)在Docker上運行了,它的任務也在同一Docker上運行。

到此,關于“Drone與Jenkins舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)站名稱:Drone與Jenkins舉例分析
分享網(wǎng)址:http://chinadenli.net/article0/ppjsio.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器微信公眾號自適應網(wǎng)站、企業(yè)建站、響應式網(wǎng)站域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設