開發(fā)人員
開發(fā)人員(上圖的最左邊)工作在自己的工作站上。他們開發(fā)代碼并且需要許多工具來提高效率。
下圖來自于上面那張持續(xù)交付流水線的大圖,展示了開發(fā)團隊。
理想情況下,他們中的每個人都應(yīng)該在自己的臺式機或筆記本電腦上擁有類生產(chǎn)環(huán)境。視開發(fā)的軟件類型而定,也許可以做到,但更可能只是模擬甚至mock生產(chǎn)環(huán)境中很難復(fù)制的部分。例如,可能依賴于外部支付系統(tǒng)或者電話硬件。
DevOps -起工作時,你在持續(xù)交付流水線上關(guān)注的部分可能取決于你原來所屬的
角色背景。如果你有很強的開發(fā)背景,你會喜歡像預(yù)打包開發(fā)環(huán)境帶來的那種便利,并且愿意在這上面花費許多時間。這是一個合理的實踐,否則開發(fā)人員可能需要花費大量時間來創(chuàng)建開發(fā)環(huán)境。這樣的預(yù)打包環(huán)境可能包含著一個指定版本的JDK(Java開發(fā)工具包)和IDE(集成開發(fā)環(huán)境),比如Eclipse。如果用到Python,你也可以創(chuàng)建一個指定Python版本的包,諸如此類。
記住我們本質(zhì)上需要兩個或兩個以上的、被維護著并且相互隔離的環(huán)境。先前的開發(fā)環(huán)境包含了所有我們需要的開發(fā)工具。而它們并不會被安裝到測試或生產(chǎn)系統(tǒng)里。進一步說,開發(fā)人員也需要一些像生產(chǎn)環(huán)境那樣發(fā)布代碼的辦法。這可以是開發(fā)人員的電腦上運行的Vagrant虛擬機、AWS上的一個云實例,或者一個Docker容器——有很多辦法都能解決這個問題。