国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

面向系統管理員的7個CI/CD工具

譯文
運維 系統運維
持續集成、持續交付和持續部署(CI/CD)在開發者社區已存在了多年。一些企業設有運維部門,但許多企業沒有。對于大多數企業而言,它們的運維團隊要像開發團隊那樣熟悉CI/CD工具和實踐。本文介紹了幾款一流的開源持續集成、持續交付和持續部署工具。

[[253412]]

【51CTO.com快譯】持續集成、持續交付和持續部署(CI/CD)在開發者社區已存在了多年。一些企業設有運維部門,但許多企業沒有。對于大多數企業而言,它們的運維團隊要像開發團隊那樣熟悉CI/CD工具和實踐。

CI/CD實踐同樣適用于基礎架構和第三方應用程序以及內部開發的應用程序。此外,有許多不同的工具,但都使用類似的模式。可能最重要的是,引導貴公司采用這種新的實踐將使你在公司內有很高的威信,你會成為別人跟隨的領路人。

多年來,一些組織一直對基礎架構采用CI/CD實踐,使用Ansible、Chef或Puppet等工具。Test Kitchen等其他工具可以在最終托管應用程序的基礎架構上執行測試。事實上,那些測試甚至可以將應用程序部署到類似生產環境的環境中,針對更高級配置的生產負載執行應用程序級測試。然而,僅僅能夠測試基礎架構就很了不起。

與一些原始的配置管理工具相比,Terraform還可以使用Test Kitchen測試更短暫更冪等的基礎架構配置。加上Linux容器和Kubernetes,你現在可以使用類似生產環境的規范和資源來測試完整的基礎架構和應用程序部署,這些規范和資源在數小時內而不是數月或數年內創建和停用。一切資源在再次部署和測試之前清除干凈。

然而,你還可以專注于對網絡配置或數據庫數據定義語言(DDL)文件進行版本控制,開始在其上面運行小型CI/CD管道。也許它只是檢查語法、語義或一些***實踐。實際上,大多數開發管道開始就是這樣。一旦你搭好了腳手架,就更容易在上面構建。一旦做好準備,你將開始為管道尋找各種用例(use case)。

比如說,我經常在公司內部編寫業務通訊,使用MJML在版本控制中維護。我需要能托管一個Web版本,有些人喜歡能夠獲得PDF,于是我構建了一條管道。現在當我創建新的業務通訊時,將它提交、進行GitLab中的合并請求。這自動創建一個index.html,附有指向業務通訊HTML版和PDF版的鏈接。HTML和PDF文件也在管道中創建。除非有人來查看這些內容,否則這些都不發布。然后,GitLab Pages發布該網站,我可以下載HTML作為業務通訊來發送。將來,我會在合并請求合并時或特殊的審批步驟后自動發送業務通訊。這看起來很簡單,但為我節省了很多時間。這正是這些工具的精髓:它們可以為你節省時間。

關鍵是創建抽象工作的工具,以便它們幾乎沒有變化即可應用于多個問題。我還應該指出,我創建的東西幾乎不需要編寫代碼,只需要幾個簡單的HTML模板、循環處理HTML文件的某個節點,以及往索引頁面填充所有HTML頁面和PDF的另一個節點。

其中一些可能看起來有點復雜,但大部分來自我所使用的不同工具的教程。而許多開發人員樂意在這些類型的工作上與你合作,因為他們可能在完成后也覺得很有用。本文所附的鏈接指向我們計劃為DevOps KC開辦的業務通訊,創建網站的所有代碼都來自我在搞內部業務通訊時所做的工作。

下面介紹的許多工具都能提供這種類型的交互,但一些提供的模式略有不同。這個領域的新興模式是用YAML之類的標記性語言對管道進行聲明性描述,每個階段是短暫冪等的。許多這些系統還通過在管道的不同階段創建有向無環圖(DAG)來確保正確的順序。

這些階段通常在Linux容器中運行,可以在容器中執行任何操作。某些工具(如Spinnaker)僅關注部署組件,提供了其他工具通常不包含的運維功能。Jenkins通常以XML格式來保存管道,大多數交互在GUI中進行,但最近的實現使用了采用Groovy的特定領域語言(DSL)。此外,Jenkins作業通常在已安裝特殊Java代理的節點上執行,由多個插件和預安裝組件組成。

Jenkins在其工具中引入了管道,但用起來有點困難,有幾個地方要注意。最近,Jenkins的開發者決定將社區引向幾個不同的計劃,這些計劃有望為這個項目注入新活力,從而真正將CI/CD帶給大眾。我認為最值得關注的計劃是創建可以將Kubernetes集群變成Jenkins CI/CD平臺的云原生Jenkins。

你進一步了解了這些工具并開始將這些實踐帶入貴公司或運維部門后,很快會有人亦步亦趨。你將提高自己和其他人的生產力。不妨更深入一點介紹這些工具。我們將簡要介紹每款工具,并附有提供更多信息的鏈接。

1.GitLab CI

項目頁面:https://about.gitlab.com/product/continuous-integration/

源代碼:https://gitlab.com/gitlab-org/gitlab-ce/

許可證:MIT

GitLab是CI/CD領域的新成員,但它已經成為弗雷斯特研究公司持續集成工具Wave報告的佼佼者,這在競爭如此激烈的領域實屬不易。什么讓GitLab CI如此出色?它使用YAML文件來描述整條管道。它還有一項名為Auto DevOps的功能,讓較簡單的項目可以自動構建管道,并有內置的多個測試。

該系統使用Herokuish構建包(https://github.com/gliderlabs/herokuish)來確定語言及如何構建應用程序。一些語言也可以管理數據庫,這是一項真正關鍵的功能,用于構建新應用程序,并從開發過程一開始將它們部署到生產環境中。該系統與Kubernetes直接集成,并使用多種不同的部署方法之一自動將應用程序部署到Kubernetes集群中,比如基于百分比的部署和藍綠部署。

除了CI功能外,GitLab還提供許多補充功能,比如運維和監控,Prometheus會與你的應用程序一起自動部署;使用GitLab Issues、Epics和Milestones,實現項目組合和項目管理;安全檢查內置于管道中,結果作為多個項目的合并值來提供;以及能夠使用WebIDE直接在GitLab中編輯代碼,甚至可以提供管道的預覽或執行部分以獲得更快的反饋。

2.GoCD

項目頁面:https://www.gocd.org/

源代碼:https://github.com/gocd/gocd

許可證:Apache 2.0

GoCD來自Thoughtworks的奇思妙想,這足以證明其功能和效率。對我而言,GoCD與其他工具的區別主要在于其價值流圖(VSM,https://www.gocd.org/getting-started/part-3/#value_stream_map)功能。實際上,管道可以串聯起來,一條管道為下一條管道提供“素材”。這使得部署過程中擁有不同職責的不同團隊加強了獨立性。將這種系統引入到打算讓這些團隊保持獨立的舊企業時,這項功能可能很有用――但讓每個人使用同樣的工具便于以后找到VSM中的瓶頸,并重新組織團隊或努力提高效率。

讓公司的每個產品都有VSM大有助益;GoCD允許在版本控制中以JSON或YAML來描述,并直觀地顯示所有數據,這使得該工具對于試圖更好地了解自身的企業來說更有價值。先安裝GoCD,僅使用手動批準關卡來描繪你的流程。然后讓每個團隊使用手動批準,以便你可以開始收集哪里存在瓶頸方面的數據。

3.Travis CI

項目頁面:https://docs.travis-ci.com/

源代碼:https://github.com/travis-ci/travis-ci

許可證:MIT

Travis CI是我***次使用的軟件即服務(SaaS)CI系統,它很棒。管道與源代碼一起存儲成YAML,并與GitHub等工具無縫集成。我不記得上次管道因Travis CI或集成而失效是什么時候了,Travis CI的正常運行時間很長。它不僅可以用作SaaS,還有可以托管的版本。我沒有運行那個版本――有很多組件,安裝全部組件看起來有點困難。我猜想使用Travis CI提供的Helm圖表統統部署到Kubernetes會容易得多。那些圖表尚未部署所有內容,但我確信將來會變得更完善。如果你不想應對麻煩,還可以使用企業版。

然而,如果你在開發開源代碼,可以免費使用Travis CI的SaaS版。這是出色團隊提供的出色服務!這減輕了大量開銷,讓你可以使用很常見的平臺來開發開源代碼,沒必要運行任何東西。

4.Jenkins

項目頁面:https://jenkins.io/

源代碼:https://github.com/jenkinsci/jenkins

許可證:MIT

Jenkins是CI/CD界最正宗、最值得尊敬的事實上的標準。建議你讀一下Jenkin的開發者兼CloudBees***技術官Kohsuke撰寫的《Jenkins:Shifting Gears》(https://jenkins.io/blog/2018/08/31/shifting-gears/)。它總結了過去十年我對Jenkins及社區的種種感受。他描述了多年來需要的創新,我很高興CloudBees在這場轉型中身先士卒。Jenkins對大多數非開發人員來說難度有點大,向來是管理員的一種負擔。然而,這些方面是他們旨在解決的。

Jenkins配置即代碼(JCasC)應該有助于解決困擾管理員多年的復雜配置問題。這便于通過YAML文件對Jenkins主機進行零接觸配置,類似其他CI/CD系統。Jenkins Evergreen旨在基于不同的用例提供預定義的Jenkins配置,從而使這個過程來得更容易。與普通的Jenkins發行版相比,這些發行版應該更易于維護和升級。

Jenkins 2引入了原生管道功能,有兩種類型的管道。你做一些簡單的事情時,兩種管道用起來都不如YAML那么容易,但它們對于完成更復雜的任務相當好。

Jenkins X堪稱Jenkins的全面轉型,很可能是云原生Jenkins的實現(或至少是大多數用戶使用云原生Jenkins時看到的東西)。它將拿來JCasC和Evergreen,直接在Kubernetes上使用、用其所長。對Jenkins來說,眼下是激動人心的時刻,我期待著它繼續創新、不斷領導這個領域。

5.Concourse CI

項目頁面:https://concourse-ci.org/

源代碼:https://github.com/concourse/concourse

許可證:Apache 2.0

我通過Pivotal Labs的人員***接觸了Concourse,那時它還是早期測試版,當時沒有很多同類的工具。該系統由微服務組成,每個作業都在容器內運行。它最有用的其他工具所沒有的功能之一是,能夠從本地系統運行作業。這意味著你可以在本地開發(假設你連接到Concourse服務器)并運行你構建的代碼,就像在真實的構建管道中運行一樣。此外,你可以從本地系統重新運行失效的構建版本,并注入特定的更改來測試修復程序。

Concourse還有一個簡單的擴展系統,依賴資源的基本概念。大致上來說,你希望提供給管道的每項新功能都可以在Docker鏡像中實現,并作為新的資源類型包含在配置中。這使得所有功能都封裝在一個可以獨立升級和修改的單個不可變工件中,破壞性變更未必同時 破壞所有構建版本。

6.Spinnaker

項目頁面:https://www.spinnaker.io/

源代碼:https://github.com/spinnaker/spinnaker

許可證:Apache 2.0

Spinnaker來自Netflix,關注持續部署多過關注持續集成。它可以與其他工具集成,包括Travis和Jenkins,以啟動測試和部署管道。它還與Prometheus和Datadog等監控工具集成,基于這些系統提供的度量指標做出部署方面的決策。比如說,金絲雀部署使用judge概念和收集的度量指標來確定***的金絲雀部署是否導致相關度量指標出現任何降級、應該回滾,或確定部署是否可以繼續。

與部署有關的幾項額外的獨特功能涵蓋了討論持續部署時常常被忽視的一個方面,這個方面看似對立,但對成功而言至關重要:Spinnaker有助于使持續部署不那么持續。它將阻止一個階段在某些時間運行,防止部署在應用程序生命周期的關鍵時間內出現。它還可以執行手動審批,確保公司業務從變更獲得***的好處后才發布。實際上,持續集成和持續部署的全部意義在于,業務需求一有變化,準備好盡快部署變更。

7.Screwdriver

項目頁面:http://screwdriver.cd/

源代碼:https://github.com/screwdriver-cd/screwdriver

許可證:BSD

Screwdriver是一款異常簡單的工具。它使用微服務方法,依賴Nomad、Kubernetes和Docker等工具充當其執行引擎。有一篇很好的部署教程(https://docs.screwdriver.cd/cluster-management/kubernetes)介紹如何部署到AWS和Kubernetes,但是一旦開發中的Helm圖表(https://github.com/screwdriver-cd/screwdriver-chart)完成,Screwdriver有望得到改進。

Screwdriver還使用YAML來描述管理,包含許多合理的默認值,因此每個管道的樣板配置較少。配置描述了作業之間可能有復雜依賴項的高級工作流。比如說,可以保證作業在另一個作業之后或之前運行。作業可以并行運行,然后結合。比如說,如果任何依賴項成功或只有所有依賴項成功,你還可以使用邏輯運算符來運行作業。更棒的是,你可以指定從合并請求觸發的某些作業。此外,發生這種情況時,依賴作業不會運行,這樣工件進入到生產環境、仍需要進行審查時可以輕松隔離管道。

本文簡要描述了這些CI/CD工具,每個工具有更酷的功能和差異化優勢,應研究一下。它們都是開源的,可以免費使用,所以部署一下,看看哪個***你的要求。

原文標題:7 CI/CD tools for sysadmins,作者:Dan Barker

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2018-08-01 08:12:34

Linux管理員網絡管理

2018-08-15 14:00:18

LinuxBash系統管理員

2011-06-16 09:35:28

系統管理員iPad應用

2013-03-30 21:59:13

系統管理員必備工具iftop

2015-10-28 09:07:34

GUI工具Linux

2012-11-01 11:33:11

IBMdw

2012-08-01 10:33:35

2021-05-06 09:38:20

安全工具密碼網絡安全

2018-10-10 10:37:03

2013-03-22 10:07:38

2013-06-26 09:29:30

系統管理員

2013-09-29 09:50:21

系統管理員Ubuntu JujuJuju

2010-04-12 09:33:58

系統管理員

2022-11-28 10:12:57

系統systemd

2010-09-13 15:40:00

2013-02-28 09:06:04

2014-07-31 14:50:40

Linux系統管理員

2010-08-11 17:11:15

2019-09-09 14:45:29

系統管理員SRE

2010-08-10 09:13:52

Unix系統管理員Ubuntu
點贊
收藏

51CTO技術棧公眾號

国产亚洲精品一区二区| 欧美伦理视频在线观看| 九色porny丨入口在线| 亚洲婷婷影院| 精品剧情v国产在线观看在线| 激情亚洲综合网| 韩国三级中文字幕hd久久精品| 国产91在线播放| 在线视频成人| 亚洲国产精品字幕| 男人的天堂在线| 国产精品久久久久天堂| 欧美少妇一区二区三区| 精品1区2区3区4区| 国产精品流白浆视频| 午夜日韩影院| 中文字幕日韩欧美| 美女视频在线免费| 精品国产伦一区二区三区观看方式 | 成人激情黄色小说| 国产日本一区二区三区| 国产成人1区| 欧美激情亚洲视频| 国产精品一级在线观看| 亚洲图片在线综合| 欧美香蕉视频| 亚洲美女在线看| 爱啪啪综合导航| 日韩精品一区二区三区蜜臀| 永久免费av在线| 欧美视频一区二区三区| 十九岁完整版在线观看好看云免费| 欧美国产禁国产网站cc| 日韩一级理论片| 日本一区二区视频在线观看| a级黄色一级片| 99久久精品国产毛片| 国产一级爱c视频| 91丨九色丨黑人外教| 欧美国产亚洲一区| 久久久久久久久久久久久女国产乱 | 久久国产福利国产秒拍| 国产精品r级在线| 国产精品超碰| 午夜精品久久久久久久白皮肤 | 国产精品美女久久久久aⅴ| 超碰97成人| 精品无码久久久久久国产| 久热国产在线| 日韩欧美一卡二卡| 蜜桃视频网站在线观看| 91麻豆精品国产91久久久久久久久 | 国产曰批免费观看久久久| 亚洲图片都市激情| 国产精品自产自拍| 欧美视频13p| 久久天堂电影| 国产精品一区二区三区久久| av第一福利在线导航| 欧美精品一区二区三区视频| 成人欧美magnet| 久久久极品av| 蜜桃tv一区二区三区| 激情图片在线观看高清国产| 日韩一本二本av| 男人最爱成人网| 欧美激情国产精品| 成人国产精品一级毛片视频| 不卡视频一区二区三区| 日本不卡一二三区黄网| 中国丰满熟妇xxxx性| 亚洲欧美一区二区久久| 免费黄色片在线观看| 亚洲国产欧美在线成人app| 日韩黄色三级在线观看| 日韩美女在线观看| 亚洲激情二区| 高清欧美精品xxxxx| 中文字幕在线一区免费| 在线观看黄色av| 中文字幕亚洲国产| 区一区二视频| 欧洲一区二区在线| 99精品视频在线播放观看| 亚洲人成小说| 国产视频丨精品|在线观看| 成人av动漫| 六月婷婷久久| 国产欧美日韩另类一区| 日韩在线资源| 久久激情视频久久| 国产精品www.| 日日摸日日碰夜夜爽av| 欧美专区在线观看一区| 国产精品18| 麻豆成人小视频| 亚洲欧洲三级电影| 9999在线视频| 国产精品草莓在线免费观看 | 亚洲一区二区欧美激情| 成人在线网址| 久久露脸国产精品| 亚洲在线日韩| jlzzjlzz欧美| 国产香蕉一区二区三区在线视频 | 欧美成人福利视频| youjizzjizz亚洲| 欧美日韩在线播放一区二区| 国产日产欧美一区| 精品自拍一区| 欧美与欧洲交xxxx免费观看| 狠狠色综合播放一区二区| 啊灬啊灬啊灬啊灬高潮在线看| 国产一区二区动漫| 亚洲人成久久| 成人午夜影院| 亚洲视频第一页| 亚洲乱码久久| 免费高清视频日韩| 日韩一区二区欧美| 日本特黄久久久高潮| 在线激情av| 97在线视频免费播放| 成人精品鲁一区一区二区| 99久久精品免费观看国产| 欧美壮男野外gaytube| 成年人午夜久久久| 97人人爽人人澡人人精品| 999国产在线| 最新中文字幕一区二区三区| 精品无人乱码一区二区三区| 日本一区二区三区视频在线观看| 午夜视频在线观看一区二区| 精品视频在线你懂得| 黄页网站大全在线观看| 精品动漫一区二区三区在线观看| 午夜久久99| 亚洲精品套图| 国产欧美欧洲在线观看| 一区二区三区在线播放| 欧美三级午夜理伦三级在线观看 | 一区二区国产精品| 伪装者在线观看完整版免费| 日本精品久久久久影院| 中文字幕免费观看一区| 日韩中文字幕| 国产欧美高清在线| 久久久久99精品久久久久| 国产不卡高清在线观看视频| 手机av在线| 韩国黄色一级大片| 亚洲美女av在线| 国产精品18久久久久久久久| 波多野结衣亚洲一二三| 男同互操gay射视频在线看| 精品偷拍一区二区三区在线看| 日本v片在线高清不卡在线观看| gogo在线高清视频| 日韩欧美在线一区二区| 日韩精品在线看片z| 日韩国产欧美视频| 涩涩涩视频在线观看| 日韩视频在线观看视频| 亚洲性av网站| 91偷拍与自偷拍精品| 日韩精品一区二区三区中文| 久久99爱视频| 国产成人综合亚洲| 婷婷开心久久网| 9色国产精品| 永久免费毛片在线播放| 亚洲成av人片在线观看香蕉| 久久久久久久国产| 5278欧美一区二区三区| 亚洲电影视频在线| 天天综合狠狠精品| 亚洲九九九在线观看| 9i在线看片成人免费| 日韩中文在线| 伊人资源视频在线| 97久久人人超碰caoprom欧美| 欧美视频一区二区三区在线观看| 日韩精品一卡二卡三卡四卡无卡| 6699嫩草久久久精品影院| 成人中文字幕在线播放| 国产91精品不卡视频| 欧美午夜片欧美片在线观看| 亚洲综合二区| 青青伊人久久| www.日日操| 免费观看欧美大片| 狠狠色丁香婷婷综合影院| 久久精品久久综合| 性高爱久久久久久久久| 毛片一区二区三区四区| 国产精品久久999| 日韩欧美一区二区免费| 94色蜜桃网一区二区三区| 色135综合网| 蜜桃麻豆av在线|