初創公司應該如何做好持續集成和部署?(3)

發表于:2016-11-23來源:裴雙才作者:裴雙才點擊數: 標簽:持續集成
三劍客GitLab+Jenkins+Gerrit,Gerrit作為創業公司代碼審核的話略顯復雜,不足夠敏捷;建議使用GitLab的Merge Requests或者Github和Bitbucket中Pull Requests作為代碼審核和討

 

三劍客GitLab+Jenkins+Gerrit,Gerrit作為創業公司代碼審核的話略顯復雜,不足夠敏捷;建議使用GitLab的Merge Requests或者Github和Bitbucket中Pull Requests作為代碼審核和討論的工具,也可以選擇Facebook的Phabricator(可同時作為代碼托管和評審,非常敏捷,由于Phabricator提供的工具集在windows下使用起來不太友好,后來沒有選用,后期會分享Phabricator的使用思路和工作流)

目錄結構

 

規范的目錄結構不僅有利于開發者理解代碼結構,更有利于代碼的快速部署,以PHP為例目錄結構建議將代碼配置文件(數據庫,Redis,OSS Key,語言開關,日志級別開關等),日志文件,其他文件緩存等獨立于代碼庫之外存放,前端項目src為源碼目錄,dist為前端經過壓縮合并等最終生成的代碼目錄(發布時可忽略src);每個項目詳細寫README.md:項目說明,各個環境對應的訪問路徑,目錄說明,構建壓縮方式,Nginx配置等,代碼倉庫中包含額外的test目錄存放測試用例(本著誰開發誰寫測試用例);

權限管理規范

 

權限有兩類一個是系統權限(包括服務器登陸,數據庫/Redis等)另外一個是服務運行時的權限;

針對系統權限層面

 

統一入口,受限訪問IP,禁止空密碼弱口令,生產環境服務器需要先撥入vpn之后通過跳板機才能連接成功(當然我們使用的是開源當中最好的跳板機Jumpserver),任何人的操作都需要審計;生產數據庫及Redis禁止了外網訪問,分別使用phpMyAdmin和RedisLive統一訪問入口(增加了多主機訪問及屏蔽了危險操作如DDL 數據的導入導出等,也需要先撥入vpn才能訪問);開發測試環境權限控制現對寬松,DEV Leader和QA Leader同時具有開發和測試環境的服務器及數據庫權限,便于測試和Debug;生產環境為了便于開發調試生產代碼且不影響線上增加了低配的節點,未在線,但環境,代碼及后端均和生產一致;

原文轉自:http://www.simlinux.com/archives/1638.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97