CICD流程

CICD整體介紹

一、產(chǎn)品上線流程

1拼缝、運(yùn)營與用戶進(jìn)行交流與溝通娱局,確認(rèn)需求
2、運(yùn)營將需求轉(zhuǎn)交給產(chǎn)品經(jīng)理咧七,產(chǎn)品經(jīng)理分析需求衰齐,確認(rèn)需求,注意: 確認(rèn)需求之后要進(jìn)行內(nèi)部會議继阻,確認(rèn)產(chǎn)品的可行性耻涛,并且將需求轉(zhuǎn)換為具體的項(xiàng)目方向(用戶提出的需求都是一個比較大的方向,需求提出人員要和用戶進(jìn)行溝通瘟檩,確認(rèn)需求是否滿足期望)
3抹缕、需求可行性通過之后,產(chǎn)品經(jīng)理要和設(shè)計師共同協(xié)作完成PRD(產(chǎn)品需求文檔)和原型
4墨辛、UI根據(jù)需求文檔和原型進(jìn)行UI設(shè)計
5卓研、需求和原型設(shè)計出來之后,產(chǎn)品經(jīng)理將需求轉(zhuǎn)交給相關(guān)的業(yè)務(wù)開發(fā)人員睹簇,業(yè)務(wù)開發(fā)人員首先根據(jù)項(xiàng)目需求進(jìn)行項(xiàng)目可行性分析奏赘,然后并根據(jù)具體項(xiàng)目給出開發(fā)周期,最后將項(xiàng)目具體分工到開發(fā)人員
6带膀、開發(fā)人員完成項(xiàng)目(保證項(xiàng)目可run志珍,并且對項(xiàng)目進(jìn)行了code review之后提交)之后,移交測試人員進(jìn)行測試
7垛叨、測試人員寫測試用例伦糯,編寫測試文檔,最后編寫測試報告嗽元,通過發(fā)郵箱的方式告知開發(fā)人員敛纲,測試有BUG則告知開發(fā)人員進(jìn)行修改
8、測試通過之后剂癌,移交產(chǎn)品經(jīng)理進(jìn)行驗(yàn)收淤翔,不通過則返回修改,通過則告知運(yùn)維人員準(zhǔn)備上線佩谷,
9旁壮、運(yùn)維人員接到通知之后监嗜,進(jìn)行上線準(zhǔn)備,首先在測試環(huán)境測試完畢之后抡谐,移交預(yù)生產(chǎn)環(huán)境進(jìn)行測試裁奇,確保萬無一失之后部署項(xiàng)目上線生產(chǎn)環(huán)境,項(xiàng)目上生產(chǎn)環(huán)境之前發(fā)郵箱通知領(lǐng)導(dǎo)麦撵,項(xiàng)目上線完畢之后也要通知相關(guān)領(lǐng)導(dǎo)

二刽肠、項(xiàng)目上線流程

開發(fā)環(huán)境,測試環(huán)境免胃,預(yù)生產(chǎn)環(huán)境音五,生產(chǎn)環(huán)境的區(qū)別

1、開發(fā)環(huán)境: 顧名思義羔沙,開發(fā)人員使用的環(huán)境
2躺涝、測試環(huán)境: 顧名思義,測試人員使用的環(huán)境撬碟,測試環(huán)境不會連接生產(chǎn)環(huán)境的數(shù)據(jù)庫诞挨,數(shù)據(jù)都是測試人員偽造的虛擬數(shù)據(jù)
3、預(yù)生產(chǎn)環(huán)境:測試環(huán)境到生產(chǎn)環(huán)境的過濾呢蛤,預(yù)生產(chǎn)環(huán)境一般都會連接生產(chǎn)環(huán)境的數(shù)據(jù)庫,力求做到和生產(chǎn)環(huán)境一致棍郎,測試時候要注意其障,避免產(chǎn)生臟數(shù)據(jù),影響生產(chǎn)環(huán)境的使用
4涂佃、生產(chǎn)環(huán)境: 即線上環(huán)境励翼,用戶直接訪問的環(huán)境,

另外辜荠,還有個灰度發(fā)布汽抚,發(fā)生在預(yù)發(fā)布環(huán)境之后,生產(chǎn)環(huán)境之前伯病。
生產(chǎn)環(huán)境一般會部署在多臺機(jī)器上造烁,以防某臺機(jī)器出現(xiàn)故障,這樣其他機(jī)器可以繼續(xù)運(yùn)行午笛,不影響用戶使用惭蟋。灰度發(fā)布會發(fā)布到其中的幾臺機(jī)器上药磺,驗(yàn)證新功能是否正常告组。如果失敗,只需回滾這幾臺機(jī)器即可癌佩。


1木缝、開發(fā)環(huán)境部署到測試環(huán)境

這里用jenkins+Gitlab+Maven的方式對項(xiàng)目進(jìn)行上線
jenkinsCI主要使用的有webhook便锨,輪詢,參數(shù)化三種構(gòu)建方式我碟,這里使用webhook的方式進(jìn)行觸發(fā)式構(gòu)建
使用webook機(jī)你向嗯構(gòu)建的理由: 當(dāng)開發(fā)人員合并分支到master觸發(fā)webhook的時候放案,jenkins不需要人員的干預(yù),實(shí)現(xiàn)了自動化構(gòu)建

具體構(gòu)建步驟
1怎囚、初始化卿叽,配置Gitlab中代碼倉庫的webhook
2、創(chuàng)建pipeline類型工程 ===》 一個工程對應(yīng)一個項(xiàng)目對應(yīng)一個webhook
3恳守、通過maven對java項(xiàng)目進(jìn)行打包
注意; 對java項(xiàng)目進(jìn)行打包考婴,可以打包成jar或者war包,打包成jar包可以直接通過java命令運(yùn)行催烘,war需要通過tomcat中間件運(yùn)行
4沥阱、包管理

包管理服務(wù)器創(chuàng)建不同的項(xiàng)目目錄,區(qū)分版本和項(xiàng)目

5伊群、發(fā)布(編寫對應(yīng)的腳本)
6考杉、因?yàn)閖ava不能動態(tài)加載,需要重啟服務(wù)舰始,重啟服務(wù)(自定義重啟腳本)
7崇棠、確認(rèn)發(fā)布是否成功?可以通過查看進(jìn)程丸卷,查看端口枕稀,以及訪問API接口的方式進(jìn)行判斷
8、通知開發(fā)谜嫉、測試(以郵箱的方式發(fā)送)


2萎坷、部署到預(yù)生產(chǎn)環(huán)境上

這里用jenkins+Gitlab+Maven的方式對項(xiàng)目進(jìn)行上線
jenkinsCI主要使用的有webhook,輪詢沐兰,參數(shù)化三種構(gòu)建方式哆档,這里使用參數(shù)化構(gòu)建的方式部署項(xiàng)目

具體構(gòu)建步驟
ansible dev-hosts 通過ansible指定資產(chǎn)清單文件的方式進(jìn)行上線

[project_1]
IP-1  # 這里代表的是預(yù)生產(chǎn)服務(wù)器
IP-2

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

  • 項(xiàng)目名稱
  • Serice_status 服務(wù)狀態(tài)
  • 發(fā)布方式 選項(xiàng)參數(shù)
    publish
    reback
  • 回滾指定版本文件(文件參數(shù))

發(fā)布腳本

#!/bin/env bash
PROJECT_NAME=$1
SERVICE_STATUS=$2
PUBLISH_TYPE=$3
ROLLBACK_VERSION=$4

# 1住闯、拉取代碼
rpm -qa | grep ^git-
if [ ! $? -eq 0 ];then
    yum -y install git
fi
# ssh方式拉取代碼之前先將機(jī)器的公鑰上傳到gitlab服務(wù)器上
git clone git@ip:user/project.git

#2瓜浸、通過maven對java項(xiàng)目進(jìn)行打包
maven  

#3、mv 包管理文件夾
mv 

#4寞秃、根據(jù)參數(shù)進(jìn)行上線或者回滾
if [ "$PUBLISH_TYPE" == "publish" ];then
    ansible -i dev-hosts 組名 -m copy -a "src=xx.jar dest=/app/pro"
else
    
fi

#5斟叼、重啟服務(wù)

#6、檢查進(jìn)程

3春寿、部署到生產(chǎn)環(huán)境上的步驟與部署到預(yù)生產(chǎn)類似
4朗涩、灰度環(huán)境

灰度環(huán)境: 生產(chǎn)環(huán)境有多臺服務(wù)器,當(dāng)有新版本需要發(fā)布的時候绑改,可以現(xiàn)在其中幾臺服務(wù)器上進(jìn)行測試或者現(xiàn)在某些地方進(jìn)行測試谢床,查看新版本上線是否有問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末兄一,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子识腿,更是在濱河造成了極大的恐慌出革,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渡讼,死亡現(xiàn)場離奇詭異骂束,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)成箫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門展箱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蹬昌,你說我怎么就攤上這事混驰。” “怎么了皂贩?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵栖榨,是天一觀的道長。 經(jīng)常有香客問我明刷,道長婴栽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任辈末,我火速辦了婚禮居夹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘本冲。我一直安慰自己,他們只是感情好劫扒,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布檬洞。 她就那樣靜靜地躺著,像睡著了一般沟饥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天蟋软,我揣著相機(jī)與錄音唉地,去河邊找鬼。 笑死幼驶,一個胖子當(dāng)著我的面吹牛艾杏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盅藻,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼购桑,長吁一口氣:“原來是場噩夢啊……” “哼畅铭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勃蜘,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤硕噩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缭贡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炉擅,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年阳惹,在試婚紗的時候發(fā)現(xiàn)自己被綠了谍失。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡穆端,死狀恐怖袱贮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情体啰,我是刑警寧澤攒巍,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站荒勇,受9級特大地震影響柒莉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沽翔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一兢孝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仅偎,春花似錦跨蟹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至座咆,卻和暖如春痢艺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背介陶。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工堤舒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哺呜。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓舌缤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子友驮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • CICD整體介紹一漂羊、產(chǎn)品上線流程1、運(yùn)營與用戶進(jìn)行交流與溝通卸留,確認(rèn)需求2走越、運(yùn)營將需求轉(zhuǎn)交給產(chǎn)品經(jīng)理,產(chǎn)品經(jīng)理分析需...
    魔曦帝天閱讀 2,838評論 0 0
  • 原創(chuàng)文章耻瑟,歡迎轉(zhuǎn)載旨指。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝喳整!原文鏈接地址:『高級篇』docker之gitlab和je...
    IT人故事會閱讀 2,261評論 0 10
  • DevOps Handbook 本文譯自gene kim和jez humble的"Devops Handbook"...
    AIOPstack閱讀 1,088評論 0 3
  • 質(zhì)量綜述 隨著互聯(lián)網(wǎng)快速發(fā)展谆构,早期的傳統(tǒng)軟件公司強(qiáng)調(diào)工程的嚴(yán)謹(jǐn)性,CMMI框都,ISO9000格局已經(jīng)發(fā)生變化搬素,逐漸退...
    老余2017閱讀 3,897評論 6 31
  • 疲倦的時候,靜下來想想魏保,我們正當(dāng)年的年齡熬尺,應(yīng)該依靠誰,父母年齡已大谓罗,唯一能為我們做的就是送上一口熱飯粱哼,其他的真心不...
    燕飛82閱讀 107評論 0 1