如何優化產品開發過程?
一、需求調研
二、設計
三、開發
四、測試
五、釋出
1、人工轉自動化部署
從人工部署到自動化部署,會給團隊帶來以下優點:
A:會減輕運維人員壓力
B:同時加快釋出速度
C:減少釋出上線過程中的問題
2、如何實現自動化部署
A:使用自動化工具ansible+jenkins進行整合-適合小型企業
Ansible作為一個python寫的自動化部署工具, 較Chef, saltstack, puppet更有自己的一些優勢。
首先就是agentless,無需在Linux client安裝任何服務即可無縫連線Linux default ssh埠進行部署(windows需要安裝winrm 開啟ssh服務), 在部署一個產品的同時你需要考慮很多時間成本, 使用其他部署工具本身非常棘手的問題就是去申請開埠, client量少的話, 我們可以去等, 多的話本身你去request, waiting, unblock port等等;最後會耗費很長時間. 這個對很多產品本身就是很致命的. 不推薦Saltstack的原因也是因為其需要在每臺agent逐一去安裝client service並測試, 這本身就會耗費一些時間成本.
其次容易上手, 語法簡單, 有現成模板可學習。
Jenkins開源, 輕量級, 相容性和擴充套件性強, 直觀的GUI管理這都是它的優勢, 一般配合Ansible使用。
B:使用自動化工具ansible+jenkins+Gitlab進行整合
Gitlab就給我們提供一個非常方便以及直觀的Playbook management. 我們需要做的其實就是在Gitlab去建立一個對應產品或者server的playbook倉庫, 然後我們在本地寫好後直接commit到這個倉庫, 最後在部署的時候, 去讓Jenkins pull這個playbook到其workspace, 並作為一個Job去run這個playbook
簡單來說就是將要釋出的程式碼推到特意為自動部署建立的某個倉庫,建立任務,讓工具自動拉取程式碼進行釋出
C:各工具職能
1、gitlab:做版本管理
2、jenkins:根據指定引數,分別執行部署或回滾操作;以及執行結果的展現和記錄
3、ansible:負責指令碼的遠端執行
以上資訊部分來源網路,我將逐步進行整理與完善
相關文章
- Scrum Mastery:產品開發中如何優化產品價值?ScrumAST優化
- 友盟:如何通過資料優化產品設計?優化
- 工業產品開發過程中的PDM技術
- iOS開發過程中 效能監控及優化iOS優化
- 從無到有開發一款產品的過程與思考
- 產品/過程矩陣(轉載)矩陣
- 產品經理必讀:敏捷開發中的需求管理過程全解敏捷
- 軟體開發怎麼管?---產品、過程、人員三要素 (轉)
- 遊戲產品如何做優化(五):LTV回收拆解遊戲優化
- 產品需求過程管理重要性
- 初創公司如何才能開發出真正個性化的產品?
- 亞馬遜是如何開發和管理產品的?亞馬遜
- 學習過程中對Vmware虛擬化產品的選擇
- 產品團隊管理 - 統一研發環境,提效研發過程
- 如何進行遊戲使用者體驗產品化調優遊戲
- 前端開發過程的工業化前端
- 沉思錄:IT專案產品化過程中的問題雜談(二)
- 遊戲產品如何做優化(四):付費點最優搭配套路遊戲優化
- 思博倫自動化加快產品開發程式
- 遊戲產品如何做優化(三):遊戲商業化的“三個平衡”遊戲優化
- SEO優化過程中容易發生的誤區優化
- 記一次公司產品「負」優化優化
- [產品經理之路] 0:持續優化著世界的產品經理優化
- 如何開發高質量的Web閱讀產品Web
- 敏捷開發模式下如何快速提升產品質量敏捷模式
- 如何避免開發一款失敗的產品
- 開發人員如何轉型做產品經理
- Facebook產品的開發流程
- 開發DBA和產品DBA
- 智慧鎖產品開發感悟
- Laravel 專案深度優化過程Laravel優化
- 效能優化的過程學習優化
- 一條sql的優化過程SQL優化
- iOS效能優化過程淺析iOS優化
- 遊戲產品如何做優化(一) :找準目標使用者遊戲優化
- 遊戲產品如何做優化(二):用“三玩法”捕獲大小R遊戲優化
- 《地圖氣球》小程式從產品到運維的個人全棧開發過程分享(長文)地圖運維全棧
- 敏捷開發過程敏捷