背景
“交付”是指產(chǎn)品從有idea開始您访,到用戶可以使用這個功能的過程铅忿。良好的持續(xù)交付方案無疑是可以提高整個產(chǎn)品的交付效率的,大公司有專門的PMO團(tuán)隊來做敏捷灵汪,開發(fā)出各種工具/平臺提升產(chǎn)品-研發(fā)-上線的效率檀训。然而對于創(chuàng)業(yè)公司來說,并沒有專門的人來做這件事享言,雖然github上有各種開源軟件峻凫,但都是相對比較割裂的,需要整合览露。在此荧琼,記錄我做的一些工作,不敢說是初創(chuàng)公司運維的最佳實踐,但整體使用起來還是挺順暢的命锄。
先說下我剛到這家創(chuàng)業(yè)公司的代碼部署現(xiàn)狀堰乔,
- 服務(wù)器在阿里云上,每臺ECS對外暴露外網(wǎng)IP和ssh端口
- 研發(fā)通過FTP上傳本地編譯的class到ECS上脐恩,重啟java進(jìn)程生效
- 經(jīng)常出現(xiàn)本地修改代碼沒有commit到代碼倉庫镐侯,導(dǎo)致下次升級時文件被覆蓋回去
當(dāng)然還有其他運維不規(guī)范的情況,不在此篇文章中展開驶冒。單說交付苟翻。
改造
持續(xù)交付是一個比較大的范疇,廣義來說只怎,包括需求收集袜瞬、需求評審、技術(shù)評審身堡、代碼管理邓尤、自動化測試、部署等工作贴谎。
寫到這兒我才發(fā)現(xiàn)汞扎,真的要做的事情還挺多的,用一篇好像說不完擅这。我會分成幾篇來詳細(xì)闡述下澈魄,希望對其他的同學(xué)有參考的價值。
在改造之前仲翎,需要先描述我們的目標(biāo)痹扇,對于我而言,需要解決的問題如下溯香,
- 解決上面描述的代碼不規(guī)范的問題鲫构,避免因發(fā)布導(dǎo)致的線上問題
- 這套方案需要有良好的擴(kuò)展性,在有新應(yīng)用要上線玫坛、多語言開發(fā)的模塊要上線结笨、新采購機(jī)器到貨、新人加入公司時湿镀,這套東西是否還可以玩的6
- 借助開源組件炕吸,避免重復(fù)造輪子(主要是沒人力造)
明確了以上幾點目標(biāo)之后,讓我們開動吧勉痴。
一赫模、初創(chuàng)公司代碼管理與運維規(guī)范化
二、jenkins+ansible做自動化的編譯發(fā)布
三蒸矛、項目管理-站會與發(fā)布時間評估