一篇帶給你 Jenkins Pipeline as Code 實(shí)踐
Jenkins在企業(yè)里面運(yùn)用最廣的開源持續(xù)集成服務(wù)器,今天我們就一起來探討一下pipeline as code。
記得收藏哦你后續(xù)一定能用得上!
首先我們先來了解一下在沒有Pipeline之前呢,我們大批量使用freestyle類型的項(xiàng)目來來作為我們的作業(yè)。那這種類型的作業(yè)呢它有一個(gè)特點(diǎn)就是所有的配置呢都是在Web頁面上進(jìn)行配置的那么這樣的話呢就存在了一個(gè)問題。
就是當(dāng)我們?nèi)ゴ笈康娜バ薷倪@些參數(shù)的時(shí)候那這時(shí)候就需要我們?cè)谠诳刂婆_(tái)上面重復(fù)的去修改每一個(gè)作業(yè)的配置。
Jenkins 2.0之后推出了一個(gè)核心的特性就是pipeline。我們可以以代碼的方式來描述我們整個(gè)流水線的運(yùn)行過程。我們可以把代碼存儲(chǔ)到版本控制系統(tǒng)里面也可以在我們的項(xiàng)目里面啊類似于寫這樣的代碼就可以了最終我們能夠解決什么樣的問題呢給我們帶來哪些好處呢?
好處就是當(dāng)我們有多個(gè)項(xiàng)目的時(shí)候可以通過一套統(tǒng)一的流水線代碼來進(jìn)行管理。也就是說后面你增加哪些流水線的步驟呢都是在代碼里添加的。
最后,我們來看一下流水線代碼的一個(gè)格式。這是我們后面要寫的流水線。也要寫的這些代碼。
那我們來總結(jié)一下今天我們分享的核心功能:
- 自由風(fēng)格項(xiàng)目它存在的一個(gè)問題就是所有的配置都是在頁面上啊不方便我們進(jìn)行修改。
- 那么流水線類型的項(xiàng)目它是以代碼的方式來描述流水線的,也就是說當(dāng)我進(jìn)行大批量修改的時(shí)候,我只需要修改我的源代碼就可以了。對(duì)于運(yùn)維我們這些作業(yè)來說是非常方便的。
那么最后呢我們也給大家?guī)硪粋€(gè)小的問題,假如你有多個(gè)Jenkinsfile的時(shí)候,甚至每個(gè)Jenkinsfile里面有成千行代碼的時(shí)候,非常不方便管理的時(shí)候。這個(gè)時(shí)候我們應(yīng)該用什么樣的實(shí)踐來解決這個(gè)問題?