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

超詳細的jenkins持續(xù)集成工作原理、功能、部署方式等介紹

開源
jenkins是一個開源項目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更為重要的業(yè)務(wù)邏輯實現(xiàn)上。

今天簡單整理了一下jenkins的一些概念性內(nèi)容,歸納如下:

1. 概念

jenkins是一個開源項目,提供了一種易于使用的持續(xù)集成系統(tǒng),使開發(fā)者從繁雜的集成中解脫出來,專注于更為重要的業(yè)務(wù)邏輯實現(xiàn)上。同時 Jenkins 能實時監(jiān)控集成中存在的錯誤,提供詳細的日志文件和提醒功能,還能用圖表的形式形象地展示項目構(gòu)建的趨勢和穩(wěn)定性。

Jenkins可以構(gòu)建一個自動化的持續(xù)集成環(huán)境可以使用它來“自動化”編譯、打包、分發(fā)部署應(yīng)用,它兼容ant、maven、gradle等多種第三方構(gòu)建工具,同時與svn、git能無縫集成,也支持直接與知名源代碼托管網(wǎng)站,如github、bitbucket直接集成。

超詳細的jenkins持續(xù)集成工作原理、功能、部署方式等介紹

2. Jenkins的功能

超詳細的jenkins持續(xù)集成工作原理、功能、部署方式等介紹

  • 定時拉取代碼并編譯
  • 靜態(tài)代碼分析
  • 定時打包發(fā)布測試版
  • 自定義操作,如跑單元測試等
  • 出錯提醒

3. 原理

超詳細的jenkins持續(xù)集成工作原理、功能、部署方式等介紹

這里是選擇Gitlab作為git server。Gitlab的功能和Github差不多,但是是開源的,可以用來搭建私有g(shù)it server,也提供非常強大的web GUI,比如開發(fā)者互相review源代碼的時候就會很方便。系統(tǒng)的工作流程大概分為以下幾步:

  • 開發(fā)者將新版本push到git server (Gitlab)。
  • Gitlab隨后觸發(fā)jenkins master結(jié)點進行一次build。(通過web hook或者定時檢測)
  • jenkins master結(jié)點將這個build任務(wù)分配給若干個注冊的slave結(jié)點中的一個,這個slave結(jié)點根據(jù)一個事先設(shè)置好的腳本進行build。這個腳本可以做的事情很多,比如編譯,測試,生成測試報告等等。這些原本需要手動完成的任務(wù)都可以交給jenkins來做。
  • 我們在build中要進行編譯,這里使用了分布式編譯器distcc來加快編譯速度。

jenkins的工作原理是先將源代碼從gitlab中拷貝一份到本地,然后根據(jù)設(shè)置的腳本進行build。我們可以看出,整個系統(tǒng)的關(guān)鍵就是那個build腳本,用來告訴jenkins在一次集成中需要執(zhí)行的任務(wù)。

不過我之后是用的Github作為git server。但其實差不多。

4. 部署方式

(1) jenkins觸發(fā)式構(gòu)建:

用于開發(fā)環(huán)境部署,開發(fā)人員push代碼或者合并代碼到gitlab項目的master分支,jenkins就部署代碼到對應(yīng)服務(wù)器。

(2) jenkins參數(shù)化構(gòu)建:

用于測試環(huán)境預(yù)上線環(huán)境部署,開發(fā)push代碼或者合并代碼到gitlab項目的master分支之后,并不會部署代碼,而是需要登錄到j(luò)enkins的web界面,點擊構(gòu)建按鈕,傳入對應(yīng)的參數(shù)(比如參數(shù)需要構(gòu)建的tag,需要部署的分支)然后才會部署。

(3) jenkins定時構(gòu)建:

用于APP自動打包,定時構(gòu)建是在參數(shù)化構(gòu)建的基礎(chǔ)上添加的,開發(fā)人員可以登錄jenkins手動傳入tag進行打包,如果不手動打包,那么jenkins就每天凌晨從gitlab拉取最新的APP代碼打包。

5. 持續(xù)集成的分類

超詳細的jenkins持續(xù)集成工作原理、功能、部署方式等介紹

  • 持續(xù)集成:指程序員在代碼的開發(fā)工程中,可以頻繁的將代碼部署到主干上,并進行自動化測試
  • 持續(xù)交互:指在持續(xù)集成的基礎(chǔ)之上,將代碼部署到線上測試環(huán)境
  • 持續(xù)部署:指在持續(xù)交互的基礎(chǔ)之上,將要部署的代碼實現(xiàn)自動部署,包括持續(xù)交互、持續(xù)部署

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2017-02-27 18:35:23

集成交付部署

2016-08-05 17:19:37

持續(xù)集成持續(xù)交付系統(tǒng)運維

2021-05-07 08:03:15

微服務(wù)JenkinsGitHub項目

2021-09-03 11:33:38

Jenkins 微服務(wù)集成

2017-03-02 15:40:12

iOSAndroidJenkins

2011-05-12 13:57:59

PHP持續(xù)集成

2011-05-12 14:11:12

2017-10-19 09:47:55

容器化微服務(wù)集成

2023-03-19 11:47:57

Taro小程序持續(xù)集

2016-03-22 13:25:14

2018-11-20 08:00:00

持續(xù)集成持續(xù)部署Git代碼倉庫

2010-03-19 10:53:39

無線AP模式

2021-01-18 14:51:34

JenkinsNginx前端

2019-04-18 10:35:30

持續(xù)集成工具Buddy

2021-03-31 09:00:00

管道集成工具

2015-07-22 14:59:30

OpenStac持續(xù)集成持續(xù)交付

2015-09-29 10:08:26

DockerJava持續(xù)集成

2011-07-14 13:20:49

Servlet過濾器

2009-06-14 18:05:58

ibmdwWebSphere

2015-07-27 11:32:24

Docker持續(xù)集成Docker部署
點贊
收藏

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