針對新創公司的 CICD:有哪些工具以及為什麼不僅大型知名公司使用它們

CICD 工具的開發人員經常將大公司列為客戶——微軟、Oculus、紅帽,甚至是法拉利和 NASA。 這些品牌似乎只適用於由幾個開發人員和設計師組成的新創公司無法承受的昂貴系統。 但這些工具的很大一部分可供小型團隊使用。

下面我們就來告訴大家需要注意的事項。

針對新創公司的 CICD:有哪些工具以及為什麼不僅大型知名公司使用它們
Фото— 恰巴·巴拉茲 — 不飛濺

PHP 審查

一個開源 CI 伺服器,可以輕鬆地用 PHP 建立專案。 這是該專案的一個分支 PHPCI。 PHPCI 本身仍在發展,但不像以前那麼活躍。

PHP Censor 可以與 GitHub、GitLab、Mercurial 和其他幾個儲存庫搭配使用。 為了測試程式碼,該工具使用 Atoum、PHP Spec、Behat、Codeception 函式庫。 這裡 範例文件 第一種情況的配置:

test:
    atoum:
        args: "command line arguments go here"
        config: "path to config file"
        directory: "directory to run tests"
        executable: "path to atoum executable"

被認為PHP Censor 非常適合部署小型項目,但您必須自行託管和配置它(自架)。 透過相當詳細的文檔簡化了此任務 - 它在 GitHub 上.

雷克斯

Rex 是遠端執行的縮寫。 該系統由工程師 Ferenc Erki 開發,用於實現資料中心流程的自動化。 Rex 基於 Perl 腳本,但無需了解這種語言即可與該工具互動 - 大多數操作(例如複製檔案)都在函數庫中描述,並且腳本通常適合十行。 以下是登入多個伺服器並運行正常運行時間的範例:

use Rex -feature => ['1.3'];

user "my-user";
password "my-password";

group myservers => "mywebserver", "mymailserver", "myfileserver";

desc "Get the uptime of all servers";
task "uptime", group => "myservers", sub {
   my $output = run "uptime";
   say $output;
};

我們建議您從以下開始熟悉該工具: 官方指南 и 電子書,目前正在完成。

開放建置服務(OBS)

這是一個優化發行版開發的平台。 它的程式碼是開放的,位於儲存庫中 GitHub上。 該工具的作者是該公司 Novell公司。 她參與了SuSE發行版的開發,這個計畫最初被稱為openSUSE Build Service。 開放建置服務不足為奇 用於在 openSUSE、Tizen 和 VideoLAN 中建立專案。 戴爾、SGI 和英特爾也使用該工具。 但在普通用戶中也有小型新創公司。 作者特別針對他們收集了(第10頁) 預配置 軟體套件。 系統本身是完全免費的 - 您只需花錢購買託管或硬體伺服器即可部署它。

但自其存在以來,該工具從未獲得廣泛的社群。 雖然 他是 Linux 開發者網路的一部分,負責標準化開放作業系統。 這可能很困難 在專題論壇上找到您問題的答案。 但 Quora 的一位居民指出, IRC 聊天 在 Freenode 上,社群成員的反應非常正面。 小社區的問題不是全球性的,因為許多問題的解決方案已經被描述 在官方文檔中 (PDF 和 EPUB)。 同上。 可以被找尋到 使用 OBS 的最佳實踐(有範例和案例)。

Rundeck

打開工具(GitHub上),它使用腳本自動執行資料中心和雲端中的任務。 一個特殊的腳本伺服器負責它們的執行。 可以說,Rundeck是ControlTier應用程式管理平台的「女兒」。 Rundeck 於 2010 年與其分開並獲得了新功能 - 例如與 Puppet、Chef、Git 和 Jenkins 的整合。

此系統用於 沃爾特·迪斯尼公司, Salesforce的 и 特瑪。 但該專案也適合新創公司。 這是因為 Rundeck 是根據 Apache v2.0 授權的許可。 而且,該工具非常易於使用。

一位曾與 Rundeck 合作的 Reddit 居民, говорит,自己解決了大部分困難。 他們幫助他做到了這一點 文件和電子書,由開發人員發布。

您也可以在線找到設定該工具的簡要指南:

光碟

打開工具(GitHub上)自動化程式碼版本控制。 該公司於2007年推出 ThoughtWorks的 ——當時這個計畫被稱為 Cruise。

GoCD 被線上汽車銷售網站 AutoTrader、家譜服務 Ancestry 和信用卡供應商 Barclaycard 的工程師使用。 然而,四分之一的工具用戶 構成小型企業.

該服務在新創公司中的流行可以透過其開放性來解釋 - 它是在 Apache v2.0 許可證下分發的。 同時,GoCD имеет 用於與第三方軟體整合的插件 - 授權系統和雲端解決方案。 真實系統 相當複雜 在母帶製作方面-擁有大量的操作人員和團隊。 此外,一些用戶抱怨介面不佳 需要 配置代理程式以進行擴充。

針對新創公司的 CICD:有哪些工具以及為什麼不僅大型知名公司使用它們
Фото— 馬特·懷爾德波爾 — 不飛濺

如果你想在實踐中嘗試GoCD,你可以在專案網站上找到 官方文檔。 它也可以被推薦作為附加資訊的來源 GoCD 開發者博客 帶手冊 設定時.

詹金斯

詹金斯廣為人知, 考慮 CICD 領域的一種標準——當然,如果沒有它,這個選擇就不會完全完整。 該工具出現於 2011 年, 變得 來自 Oracle 的 Project Hudson 的一個分支。

今天和詹金斯一起 工作 美國太空總署、任天堂和其他大型組織。 然而 更多8% 用戶帳號最多可達十人的小團隊。 該產品完全免費並分發 根據麻省理工學院許可。 但是,您必須自己託管和配置 Jenkins - 它需要專用伺服器。

在該工具存在的整個過程中,圍繞著它形成了一個大型社區。 使用者在線程中主動交流 書籤交易 и 谷歌群組。 關於詹金斯的材料也定期出現在 Habré 上。 如果您想成為社區的一部分並開始與 Jenkins 合作,這裡有 官方文檔 и 開發者指南。 我們也推薦以下指南和書籍:

詹金斯有幾個有用的副項目。 第一個是插件 配置即程式碼。 它透過易於閱讀的 API 使 Jenkins 的設定變得簡單,即使是沒有深入了解工具的管理員也可以理解。 第二是系統 詹金斯 X 對於雲。 它透過自動化一些日常任務來加速部署在大規模 IT 基礎架構上的應用程式的交付。

建造機器人

這是一個持續整合系統,用於自動化應用程式的建置和測試週期。 每次對程式碼進行任何更改時,它都會自動檢查程式碼的功能。

該工具的作者是工程師 Brian Warner。 今天他值班 改變了 Buildbot 監督委員會倡議小組,其中包括六名開發人員。

建造機器人 使用 LLVM、MariaDB、Blender 和 Dr.Web 等專案。 但它也用於 wxWidgets 和 Flathub 等較小的項目。 該系統支援所有現代 VCS,並透過使用 Python 來描述它們,具有靈活的建置設定。 它將幫助您處理所有這些問題。 官方文檔 和第三方教程,例如,這是一個簡短的教程 IBM手冊.

當然, 那不是全部 小型組織和新創公司應該關注的 DevOps 工具。 在評論中給出您最喜歡的工具,我們將嘗試在以下材料之一中討論它們。

我們在企業部落格中寫的內容:

來源: www.habr.com

添加評論