自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

六款不容錯過的開源持續(xù)集成工具

譯文
云計算
在今天的文章中,我們就將共同了解六款開源持續(xù)集成服務器工具,相信它們能幫助大家在自己的敏捷性體系當中解決各類常見難題。

[[144175]]

持續(xù)集成是敏捷軟件開發(fā)工作當中的一大組成部分。從一輪沖刺到下一輪沖刺,技術(shù)團隊在“不斷前進”的同時持續(xù)推出各類增量化功能。不過當開發(fā)人員高度專注于添加功能的同時,代碼錯誤有時候也會不期而至、并導致軟件無法正常使用。為了阻止此類錯誤被集成至軟件配置管理(簡稱SCM)方案當中,持續(xù)集成服務器則扮演守門人的角色,幫助我們對代碼質(zhì)量進行把關(guān)。即使糟糕代碼已經(jīng)被集成到SCM當中,持續(xù)集成服務器仍然能夠快速告訴我們是哪里出了問題。在今天的文章中,我們就將共同了解六款開源持續(xù)集成服務器工具,相信它們能幫助大家在自己的敏捷性體系當中解決各類常見難題。

Jenkins

Jenkins的誕生介于Hudson項目發(fā)布與Sun Microsystems公司被收購之間。Jenkins以Java語言開發(fā)而成,且能夠在WAR文件下載完成之后使用java –jar jenkins.war命令進行安裝。大家也可以將其部署在servlet容器當中。Jenkins的主要任務分為以下兩種:持續(xù)構(gòu)建/測試軟件項目與以外部方式監(jiān)控運行任務。對于前者,Jenkins支持一系列SCM工具——包括Git、Mercurial、Subversion以前Clearcase等等。大家可以以該項目為基礎(chǔ)構(gòu)建Apache Ant以及Apache Maven外加其它shell腳本,或者利用Windows批處理文件完成各類預/后構(gòu)建操作。需要注意的是,幾乎所有配置都能夠通過基于Web的GUI完成。

Jenkins同時也可以作為來自第三方供應商的服務方案,但如果大家擁有一套規(guī)??捎^的待測試軟件清單,那么它可能更適合運行在我們自己的服務器之上——這樣不僅能夠保證各位對基礎(chǔ)設(shè)施問題擁有全面控制能力,同時也有助于企業(yè)客戶保障軟件安全水平。

Buildbot

作為以Python語言開發(fā)而成的項目,Buildbot基于Twisted框架構(gòu)建完成。它最初僅僅作為Tinderbox項目的備用方案存在,但現(xiàn)在已經(jīng)為Mozilla、Webkit、Chromium以及其它眾多產(chǎn)品所支持。Buildbot安全需要一臺或者更多主服務器外加多從服務器作為配合。其中主服務器負責監(jiān)控源代碼庫的變化,協(xié)調(diào)各從服務器的操作活動并向用戶及開發(fā)人員報告結(jié)果。從服務器則可運行多種不同操作系統(tǒng)。大家需要向主服務器提供一套Python配置腳本以完成Buildbot的配置工作。這一點對于非程序員用戶而言可能有些困難,不過此類腳本的存在也讓Buildbot具備更為出色的靈活性。

這種設(shè)置機制的指導思想在于,目前的大部分持續(xù)集成工具在設(shè)計與選項方面都受到工具***的嚴格限制。不過像混合型語言應用程序或者復雜發(fā)布任務等用例很可能超出開發(fā)者的預先假設(shè)。Buildbot在設(shè)計上允許大家隨著具體要求的變化而進行安裝,從簡單到復雜一路滿足用戶的實際狀況。

六款不容錯過的開源持續(xù)集成工具

Travis CI

Travis CI可能是目前最適合新手作為起步平臺的持續(xù)集成服務器方案了。Travis CI屬于開源項目,而且能夠在我們自己的服務器上實現(xiàn)免費托管。不過值得一提的是,它也提供一套SaaS版本,旨在幫助各位以免費方式對開源項目進行測試。整個安裝過程非常輕松,我們只需要接入自己的GitHub賬戶,提供相關(guān)權(quán)限并根據(jù)項目的實際要求更新travis.yaml文件即可。在文件提交至GitHub之后,一套新的Travis CI即可開始構(gòu)建。

Strider

Strider由Node.JS與JavaScript編寫而成,同時利用MongoDB作為后備存儲機制。我們必須首先安裝MongoDB與Node.JS,而后才安裝Strider。大家可以使用npm install strider命令進行安裝。不過,Strider***的特色在于***的可定制能力,我們可以親自動手編寫插件以強化其功能——這當然不是件壞事,但如果各位想要的是一款無需編程就能快速起效的方案,那么***還是優(yōu)先考慮其它項目。

Go

Go是由ThoughtWorks公司創(chuàng)建并加以開源的項目。與其它先進持續(xù)集成服務器一樣,Go也允許大家將自己的構(gòu)建版本分發(fā)至多種不同系統(tǒng)當中,并以集中方式對它們加以監(jiān)控。要使用Go,大家需要將其安裝在自己的服務器內(nèi)——其不提供任何SaaS選項。

在Go的幫助下,我們能夠以流水線的方式實現(xiàn)各類定期執(zhí)行任務,而這些操作當中的實例會被稱為job。另外值得一提的是,它能夠利用值流圖對整個持續(xù)交付流程進行可視化處理。最終生成的圖表能幫助我們追蹤從提交到部署的整個流程中的各項具體變更。

Integrity

由于以Ruby語言編寫而成,Integrity需要Ruby 1.8.7或者更新版本、RubyGems 1.3.5或者更新版本以及Git 1.6或者更新版本才能正常運行。其不提供SaaS選項,大家需要在使用之前以本地方式進行安裝。整個配置工作可以通過“init.rb”文件實現(xiàn)。該項目的官方頁面當中提供了此文件的示例。另外需要特殊強調(diào)的一點是,Integrity目前只能與Git進行協(xié)作。因此如果大家正在使用其它SCM工具,那么Integrity恐怕并不適合您。

原文標題:6 top continuous integration tools

核子可樂譯

責任編輯:Ophira 來源: 51CTO
相關(guān)推薦

2018-01-12 08:29:11

持續(xù)集成工具

2016-12-08 11:39:00

系統(tǒng)管理員開源工具

2015-09-17 17:37:57

工具程序開源

2020-12-17 09:24:20

前端開發(fā)工具

2014-08-26 10:38:23

AppAndroid Wea應用

2014-08-28 14:09:40

AppAndroid Wea應用

2022-05-01 12:19:33

云原生公有云云計算

2023-07-12 20:19:58

2015-09-07 09:45:44

開發(fā)人員JavaScript框架

2019-02-27 11:10:29

時間管理軟件應用

2016-02-29 15:00:48

RSA/信息安全

2023-12-04 11:05:44

2011-07-12 08:54:35

項目

2017-04-28 08:57:58

持續(xù)集成DevOpsC#

2015-11-16 10:09:55

終端模擬器系統(tǒng)管理員開源

2016-08-18 10:36:26

Linux紅帽CentOS

2023-06-29 17:53:00

VSCode插件程序

2014-07-10 10:56:21

jQuery

2019-10-29 09:00:00

AIOps人工智能

2022-09-22 16:17:12

css編程語言開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號