精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

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

運維 系統運維
持續集成和部署是每一個互聯網開發團隊都必須要面對的問題,特別是在初創公司,由于業務和技術團隊快速增長,技術積累較弱,所以一個高效的,可持續的運維規范尤為重要。

[[164328]]

作者介紹

裴雙才,Geekwolf,現MAKA運維負責人,博客: http://www.simlinux.com。《FastDFS分布式存儲實戰》作者,《Ansible中文手冊》譯者。RHCA/RHCVA,混跡各種開源社區,專注高效運維、DevOps、性能優化、Docker、MySQL等方向,熱衷技術分享,歡迎一起討論技術,互相學習,共同進步。

前言

持續集成和部署是每一個互聯網開發團隊都必須要面對的問題,特別是在初創公司,由于業務和技術團隊快速增長,技術積累較弱,所以一個高效的,可持續的運維規范尤為重要。

最近一段時間,一直在梳理項目開發流程以及自動化測試和部署規范,作為一個總結和大家分享,希望有所幫助。

高效可持續的運維環境需要合理的規范作為支撐:

  • 應用管理規范
  • 權限管理規范
  • 配置變更規范
  • 發布策略規范
  • 日志運維規范

持續集成部署實戰(該內容將在后續文章中進行討論,本次不展開)

一、應用管理規范

1. 應用版本化

可以使用SVN、Git對代碼進行版本控制。

建議使用Git(如:GitLab),并使用Git Group命名規范:大原則為根據產品域名區分,或者根據前后端業務模塊進行分組(小寫字母命名,橫杠[-]作為連接字符)。

舉例:

MAKA官網 http://www.maka.im 對應的Git倉庫Group為official,按照功能模塊分組,商城前端對應的Git倉庫Group為store。

  項目名命名規范:

  •     全部用小寫字母
  •     橫杠[-]作為連接字符
  •     命名規則:[產品名稱]-[項目類型]-[自定義名稱]

舉例:

official-store-customer。

實踐建議:在創建項目倉庫時就要權衡前后端或者大的功能模塊的拆分,保持低耦合度。

2.合理的分支策略

常用的Git工作流總結如下:

第一種:集中式工作流,很多公司使用SVN,對Git的使用并不熟悉。如果遷移至Git之后,可以考慮集中式工作流進行開發,即代碼庫只有 master 一個分支,所有開發者只有本地 master 和遠端 master 分支。這種方式使用簡單,但無法充分發揮 git 的優勢。

第二種:功能分支工作流, 與上一種不同的地方在于,除了 master 分支以外還有功能分支。日常開發在功能分支,提測集成時提交Merge Requests(在Bitbucket中是Pull Request)。

開發者可以在這個時候進行討論、審核代碼,同意后可以合并至 master 分支,未同意則可以讓開發者修改后重新提交或者選擇關閉該MR。

舉例: third-party-login-feature 

三種:Gitflow工作流,兩個主干分支 master(正式發布分支)和 develop(功能集成分支)。

開發者應基于 develop 分支創建 feature 功能分支,用于開發,開發完成后提交merge requests請求合并進 develop 分支。

此時若到了發布窗口,基于此時的 develop 分支創建發布分支 release 用于測試 → 預發布 → 發布,以避免影響 develop 分支的正常集成、合并功能分支;release 分支不再有新的功能合并進來,一旦創建只用于 bug 修復并將修復 cherry-pick 到develop分支;發布完成后,release 分支合并進 master 并分配版本號、打tag,用于存放發布歷史。

Gitflow工作流方式適用于大型項目

第四種:Forking工作流,開發者 fork 官方的 repo 到自己的賬號空間,對于官方分支只有只讀權限,開發者通過pull request 提交給官方審核是否合并進代碼庫;開發者通過同步上游官方的 repo 來使用其他人的代碼,分支策略可參考上述三種工作流,適合開源項目。

針對創業公司參與同一個項目的開發者并不多,過于復雜的分支策略并不能帶來便利,可以參考 leancloud 的分支模式,根據團隊的使用情況進行調整。

介紹下我們當前使用的分支策略:

  • master:主干分支,用作日常開發的基線;
  • userA:開發者A日常開發所在分支;
  • release-201603091106: master分支集成測試完成后,構建到預發布環境時自動創建 release-201603091106 用于發布。
  • hotfix-201603091106: 基于當前發布之后的 release-201603091106 分支用于修復bug,通過提交merge requests 方式合并進 release-201603091106,并將修復 cherry-pick 到master分支。

日常開發在 userA 分支操作,然后提交merge requests 請求合并至 master 分支,本地通過 git fetch origin master,然后在 userA 分支 git rebase origin/master 將 master 最新 commit 合并到本地 userA 分支從而形成閉環開發。

3.關于代碼審核

三劍客 GitLab + Jenkins + Gerrit。

Gerrit作為創業公司代碼審核工具略顯復雜,不足夠敏捷,建議使用GitLab的 Merge Requests 或者 Github 和 Bitbucket 中的 Pull Requests 作為代碼審核和討論的工具。

也可以選擇 Facebook 的 Phabricator (可同時作為代碼托管和評審,非常敏捷,由于 Phabricator 提供的工具集在 Windows 下使用起來不太友好,后來沒有選用,后期會分享 Phabricator 的使用思路和工作流)

4.目錄結構

規范的目錄結構不僅有利于開發者理解代碼結構,更有利于代碼的快速部署,以PHP為例,目錄結構建議將代碼配置文件(如:數據庫,Redis,OSS Key,語言開關,日志級別開關等)、日志文件,其他文件緩存等獨立于代碼庫之外存放。

前端項目 src 為源碼目錄,dist為前端經過壓縮合并等最終生成的代碼目錄(發布時可忽略src)。

每個項目詳細寫 README.md 文件,詳細說明,各個環境對應的訪問路徑、目錄說明、構建壓縮方式,Nginx配置等,代碼倉庫中包含額外的 test 目錄存放測試用例(本著誰開發誰寫測試用例的原則)。

二、權限管理規范

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

1. 系統權限

統一入口,受限訪問IP,禁止空密碼弱口令,生產環境服務器需要先撥入vpn之后通過跳板機才能連接成功(當然我們使用的是開源當中最好的跳板機Jumpserver),任何人的操作都需要審計;

生產數據庫及Redis禁止了外網訪問,分別使用phpMyAdmin和RedisLive統一訪問入口,增加了多主機訪問及屏蔽了危險操作如DDL 數據的導入導出等。也需要先撥入vpn才能訪問。

開發測試環境權限控制相對寬松,DEV Leader 和 QA Leader同時具有開發和測試環境的服務器及數據庫權限,便于測試和Debug;

生產環境為了便于開發調試生產代碼,且不影響線上,增加了 Staging 節點,未在線,但環境代碼及后端均和生產一致;

2. 針對服務權限層面

以 Web 服務為例,Nginx 和 php-fpm 運行用戶和用戶組為:www-data;代碼目錄用戶為www。

這樣代碼目錄默認情況下web服務只讀,避免出現文件和目錄777權限的情況;

日志和緩存目錄用戶設置www-data,但要禁止訪問php等動態文件。

禁止危險函數phpinfo exec eval system 等,具體可參考

http://www.sinacloud.com/doc/sae/php/runtime.html

禁止跨目錄訪問open_basedir,開啟前后的性能對比請參考:

http://www.simlinux.com/archives/1531.html

三、配置變更規范

1.系統部署

傳統IDC機房可以通過定制鏡像或者使用 Cobbler 定制安裝,運行的服務也可以定制在鏡像中,但建議安裝系統時注冊puppet/salt agent,再自動化部署相關服務。

公有云中可以在服務器上部署相應環境后創建系統快照,制作系統鏡像,彈性擴容時可選擇該鏡像自動化安裝。

2.日常變更

日常變更包括服務配置的變更和代碼配置的變更,這些操作我們是通過 Ansible,相比 puppet/salt 的好處就是簡單方便不用裝agent,后面會詳細介紹如何基于Ansible做發布回滾。變更的內容使用git進行版本控制。 

四、發布策略規范

1. 發布時間

注意:以上請根據自己業務做相應調整,避免在業務高峰期發布(除應急bug外)。

我們業務高峰期基本在18:00-23:30,低峰期基本在01:00-06:00。這也是微信分享閱讀的高峰和低峰時段。

無論應急Bug還是日常迭代都必須由QA測試通過和產品經理審核通過后才能上線。

血的教訓:曾經出現過開發為了修復線上很急的bug,開發修復后自主上線導致生產出現更嚴重的問題。

2. 發布工具的選擇

無論是自主開發發布系統,亦或是使用開源的系統都要本著解決問題的原則,否則只能是重復造輪子,然并卵呀!

開源的持續集成和發布里面個人覺得比較好的如:Jenkins,Walle,Spinnaker,go,Gitlab-ci,Bamboo(收費)等,其他參考。

https://github.com/geekwolf/sa-scripts/blob/master/devops.md

下面介紹我們基于GitLab + Jenkins + Ansible(Flamingo自動化代碼發布工具)實現的自動化代碼部署平臺,流程如下:

Flamingo:(“火烈鳥”,https://github.com/geekwolf/flamingo)是基于Ansible的自動化代碼發布工具,目的是實現統一的代碼發布方式,思路基于Capistrano,并對Ansisrano進行了改造可以通過傳入語言環境,主機組(應用組/灰度機組等),項目代碼庫,分支名稱,項目名稱等參數來進行自動化打包發布,也可以將Flamingo工具二次打包使用。

Flamingo本著回滾即發布的原則,以簡化發布流程,回滾時傳入要回滾的分支即可,其他參數可參看defaults/main.yml進行了解;(注:依賴Git/rsync/ansible)

例子: 

  1. ansible-playbook deploy.yml 
  2.  
  3. --extra-vars='flamingo_git_repo=git@github.com:geekwolf/flamingo.git flamingo_product_name=flamingo' 

 執行后生成的目錄結構如下圖(目錄定義請參考defaults/main.yml): 

五、日志運維規范

毫無疑問,規范的日志對于運維和開發排查問題有非常大的幫助,例如PHP項目日志格式可以規范為時間,日志級別,日志內容(比如對于連接多個DB時出現連接不上或超時應該把實例地址一同寫入日志),可以參考psr-3的標準:

http://www.php-config.org/psr/psr-3

通過ELK將業務日志,PHP自身錯誤日志/慢日志,Nginx慢日志等進行搜集統計并結合Zabbix實現報警,便于及早發現問題。

六、持續集成部署實戰

后續篇章會分享針對PHP/JAVA/前端以及Android/ios持續集成和部署實戰,敬請關注。

總結

以上只是粗略對持續集成和部署過程中遇到的問題進行了總結,并不完美,但對于初創公司應該有些幫助,歡迎一起學習討論!

責任編輯:劉永紅 來源: 高效運維
相關推薦

2017-02-27 18:35:23

集成交付部署

2016-08-05 17:19:37

持續集成持續交付系統運維

2018-11-20 08:00:00

持續集成持續部署Git代碼倉庫

2023-03-19 11:47:57

Taro小程序持續集

2015-09-29 10:08:26

DockerJava持續集成

2019-04-29 09:52:46

容器安全漏洞網絡安全

2011-05-16 15:26:52

功能測試

2020-07-22 07:00:00

微服務架構

2011-05-26 16:27:24

SEO

2023-02-20 08:02:38

智能自動化交付

2014-11-07 14:59:11

容器化ShippableDocker

2017-10-19 09:47:55

容器化微服務集成

2017-02-22 13:53:16

2021-03-31 09:00:00

管道集成工具

2021-06-18 09:00:00

云計算開發存儲庫

2022-06-22 08:02:01

業務監控Web站點監控

2021-01-19 09:59:02

招聘管理團隊

2015-06-29 09:37:57

阿里員工持續集成

2013-09-23 17:28:52

創業投資Investor Pi

2009-06-14 18:05:58

ibmdwWebSphere
點贊
收藏

51CTO技術棧公眾號

亚洲国产精品久久久久久6q| 亚洲不卡的av| 欧美xxx视频| 国产精品久久久久久久久久免费看| 91久久国产综合久久91精品网站 | 毛片在线视频播放| 番号在线播放| 国产风韵犹存在线视精品| 欧美专区日韩视频| 男人与禽猛交狂配| 夜夜春成人影院| 在线91免费看| aaa毛片在线观看| 亚洲小说区图片区都市| 国产午夜亚洲精品不卡| 97中文在线观看| 在线免费观看中文字幕| 在线视频精品| 九九热精品视频国产| 免费看裸体网站| 第四色在线一区二区| 欧美男男青年gay1069videost| 欧美日韩成人免费视频| 69成人在线| 中文字幕制服丝袜成人av| 国产综合第一页| 国产又粗又大又黄| 日韩国产成人精品| 欧美最近摘花xxxx摘花| 久草资源在线视频| 91久久电影| 综合国产在线观看| 少妇大叫太粗太大爽一区二区| 免费精品一区| 在线成人av网站| 97公开免费视频| 色在线视频观看| 性做久久久久久| 日韩一二区视频| 18+激情视频在线| 亚洲天堂福利av| 亚洲欧美影院| 成人高清在线| 国产精品欧美一区喷水| 日韩电影免费观看在| 亚洲三区在线观看无套内射| 丁香五精品蜜臀久久久久99网站| 91精品视频在线免费观看| 国产偷人爽久久久久久老妇app | 中文字幕乱妇无码av在线| 男女啪啪999亚洲精品| 日本道免费精品一区二区三区| 国产免费黄色av| 性感女国产在线| 欧美性猛交xxxx富婆| 男女高潮又爽又黄又无遮挡| 美女搞黄视频在线观看| 欧美性感美女h网站在线观看免费| 波多野结衣综合网| 伊人久久国产| 色综合久久综合| 国产免费视频传媒| 色婷婷综合久久久中字幕精品久久| 色综合天天综合色综合av| 内射国产内射夫妻免费频道| 蜜桃麻豆影像在线观看| 色婷婷综合久色| 国产一区二区在线免费播放| 亚洲欧美综合久久久久久v动漫| 欧美精品一级二级| 韩国一区二区在线播放| 天堂av一区| 亚洲国产毛片完整版| 无码人妻精品一区二区三应用大全| 欧美美乳视频| 俺去了亚洲欧美日韩| 婷婷色中文字幕| 日韩午夜电影| 国产精品网红福利| av中文字幕观看| av高清久久久| 日韩理论片在线观看| 成年视频在线观看| 午夜精品123| 九九视频精品在线观看| av日韩在线免费观看| 精品国产a毛片| 日本一级免费视频| 亚洲先锋影音| 欧美一级在线播放| 亚洲一卡二卡在线| 99在线热播精品免费| 午夜免费电影一区在线观看| 日本成人不卡| 欧美专区在线观看一区| 人妻体体内射精一区二区| 天天躁日日躁狠狠躁欧美| 少妇av一区二区三区| 精品99在线观看| 日本中文字幕一区| 成人自拍网站| 一级毛片视频在线观看| 午夜a成v人精品| 亚洲精品免费一区亚洲精品免费精品一区 | 毛毛毛毛毛毛毛片123| 欧美综合精品| 免费91在线视频| 无码无套少妇毛多18pxxxx| 国产精品一区二区久久精品爱涩| 欧美成人免费在线| 羞羞网站在线看| 欧美系列在线观看| 日韩aaaaa| 91超碰国产精品| 国产99久久精品一区二区 夜夜躁日日躁 | 亚洲美女视频网站| 欧美日韩成人免费观看| 秋霞午夜av一区二区三区| 国产欧美日韩视频一区二区三区| 在线观看av黄网站永久| 欧美视频二区36p| 亚洲最大视频网| 99久久www免费| 国产成人a亚洲精品| 日韩有码第一页| 亚洲免费观看高清完整版在线观看 | 久久久久一区二区三区四区| 久久久久久久久久久久久国产| 成人精品国产亚洲| 亚洲一区二区国产| 影音先锋亚洲天堂| 国产91精品免费| 麻豆一区二区三区在线观看| 玖玖精品在线| 在线观看视频亚洲| 在线永久看片免费的视频| www.欧美日韩国产在线| 日韩精品视频在线观看视频| 清纯唯美激情亚洲| 久久99国产综合精品女同| 国产99久一区二区三区a片| 综合久久久久久久| 中文国产在线观看| 国产精品99久久久久久动医院| 国产精品国产三级国产aⅴ9色| 男操女在线观看| 色综合久久中文综合久久牛| 国产精品无码午夜福利| 久久黄色网页| 日本一区二区三区www| 粉嫩一区二区三区| 亚洲天堂成人在线视频| www.久久视频| 国产精品久久久久天堂| www.se五月| 91精品久久久久久久蜜月| 91在线观看免费网站| 日本性爱视频在线观看| 欧美精品一区二区三区在线 | 在线免费观看a视频| 欧美一区二区在线免费播放| 国产成人无码aa精品一区| 国产成人av福利| 日本中文字幕网址| 欧美美女在线观看| 国产日韩欧美另类| 尤物视频在线看| 亚洲精品一区二区三区蜜桃下载 | 欧美日韩1区2区| 丰满少妇被猛烈进入一区二区| 国产传媒欧美日韩成人| 亚洲人精品午夜射精日韩| 国产精品亚洲片在线播放| 国产精品自产拍在线观看| 二区三区在线观看| 亚洲国产高潮在线观看| 无码人妻精品一区二区蜜桃色欲| 中文无字幕一区二区三区| 极品人妻一区二区| 夜夜爽av福利精品导航| 视频一区不卡| 亚洲精品aⅴ| 国产91精品在线播放| www久久日com| 亚洲精品在线视频| 国产精品久久久久久无人区 | 国内外成人免费激情视频| 欧美精选一区二区三区| 亚洲va欧美va国产综合剧情| 国产v日韩v欧美v| 中文字幕无线精品亚洲乱码一区 | 欧美日韩国产精品一区| 可以免费看av的网址| 成人午夜视频福利| 黄色三级视频片| 欧美视频一区| 亚洲国产激情一区二区三区| 动漫3d精品一区二区三区乱码| 国产v综合v亚洲欧美久久| 啪啪免费视频一区| 中文在线资源观看视频网站免费不卡| 亚洲精品久久久蜜桃动漫| 欧美三级午夜理伦三级中视频| 国产精彩视频在线观看| 国产精品久久精品日日| 韩国三级视频在线观看| 免费在线观看精品| 国产美女主播在线播放| 久久久久久久久丰满| 开心色怡人综合网站| 亚洲电影一区| 国产日本欧美一区二区三区| av女在线播放| 久久99国产精品久久久久久久久| 在线a人片免费观看视频| 亚洲伦理中文字幕| 人妻一区二区三区免费| 欧美一级专区免费大片| 最新在线中文字幕| 日韩欧美在线中文字幕| 久久久久久激情| 亚洲男人的天堂av| 人与动物性xxxx| 国产欧美一二三区| 国产特级黄色录像| 91香蕉视频mp4| 亚洲欧美日韩色| 盗摄精品av一区二区三区| 天天操精品视频| 极品美女销魂一区二区三区| 男人的天堂日韩| 日韩和欧美一区二区三区| 春日野结衣av| 国产亚洲午夜| 极品美女扒开粉嫩小泬| 日韩视频一区| 欧美在线观看成人| 日韩午夜精品| 成人综合视频在线| 亚洲欧美不卡| 成熟老妇女视频| 久久免费高清| 熟妇人妻va精品中文字幕| 久久免费黄色| 国产情侣av自拍| 日韩av不卡在线观看| 国产九九在线视频| 日本中文在线一区| www.国产视频.com| 国产在线精品免费av| 欧美日韩精品区别| 国产精品一区免费视频| 人妻少妇偷人精品久久久任期| 国产成人在线观看免费网站| 免费观看黄网站| 成人av在线观| 在线观看日韩精品视频| 久久综合久久综合亚洲| 69视频在线观看免费| 国产精品久久久久久久久免费相片| 男女全黄做爰文章| 亚洲精品视频自拍| 日本五十熟hd丰满| 黑人精品xxx一区一二区| 日批视频免费在线观看| 欧美私模裸体表演在线观看| 99视频在线观看免费| 精品对白一区国产伦| 欧美色图另类| 少妇高潮久久77777| 毛片在线网址| 日本精品免费一区二区三区| 久久精品97| 国产福利一区二区三区在线观看| 天堂一区二区三区四区| 亚洲欧美日产图| 一区在线免费| 狠狠热免费视频| 国产精品一区三区| 麻豆精品免费视频| 亚洲女与黑人做爰| 特黄视频免费看| 欧美久久久久久久久久| 五月天婷婷在线播放| 中文字幕亚洲综合久久| 欧美xxxx性xxxxx高清| 日韩美女视频在线观看| 狂野欧美xxxx韩国少妇| 欧美高清视频一区| 在线中文一区| 国产福利影院在线观看| 韩国女主播成人在线观看| 久久人人爽人人爽人人片| 国产精品国产自产拍高清av| 韩国av免费观看| 欧美日韩1区2区| 青青草视频在线免费观看| 伦理中文字幕亚洲| 搜成人激情视频| 国产精品一区视频网站| 欧美3p在线观看| 男人操女人逼免费视频| 国产一区二区不卡在线| www.久久国产| 亚洲丶国产丶欧美一区二区三区| 中文字幕视频在线播放| 日韩av在线免费观看| 成人在线观看亚洲| 日韩免费观看网站| 国产在线播放精品| 午夜在线视频免费观看| 老色鬼久久亚洲一区二区| 国产大学生视频| 亚洲精品大片www| 在线观看免费高清视频| 亚洲美女喷白浆| 51av在线| 国产精品久久久久久久久久久久午夜片 | 精品久久久久一区| av大全在线免费看| 日本亚洲欧美三级| 欧美精品密入口播放| www.18av.com| 狠狠狠色丁香婷婷综合久久五月| 人妻视频一区二区| 色噜噜久久综合| 天堂а在线中文在线无限看推荐| 欧美黑人xxxⅹ高潮交| av在线精品| 国产精品h视频| 毛片av一区二区| 成人性生交大片免费看无遮挡aⅴ| 好吊成人免视频| 日本一二三区在线视频| 午夜精品久久久99热福利| 91精品久久久久久综合五月天| 日韩人妻一区二区三区蜜桃视频| 蓝色福利精品导航| 很污很黄的网站| 欧美一区二区三区电影| 成人在线观看免费网站| 91亚洲国产成人精品性色| 五月激情综合| 91网址在线观看精品| 亚洲日本va在线观看| 国内精品偷拍视频| 欧美激情aaaa| 激情av综合| 少妇高潮毛片色欲ava片| 97久久超碰精品国产| 看片网址国产福利av中文字幕| 亚洲剧情一区二区| 亚洲wwww| 一区二区在线观| 国产精品白丝av| 久久免费播放视频| 日韩黄色av网站| av亚洲一区二区三区| 一区二区免费在线视频| 久久国产精品99久久久久久老狼 | 蜜桃视频一区| 美国一级黄色录像| 欧美一区二区视频在线观看 | 国产成人综合亚洲| 日韩精品第一区| 亚洲一级片免费观看| 亚洲午夜久久久久久久久电影院| 四虎影视在线观看2413| 国产精品草莓在线免费观看| 久久人体视频| 日本女人性视频| 日韩欧美成人免费视频| jizz在线观看| 99久热re在线精品996热视频| 99精品国产在热久久| 怡红院一区二区三区| 91精品国产aⅴ一区二区| 涩涩网在线视频| 一区二区成人国产精品 | 麻豆明星ai换脸视频| 精品99久久久久久| 91av一区| 久久亚洲中文字幕无码| 国产精品乱码妇女bbbb| 亚洲AV无码一区二区三区性 | 国产乱淫av片杨贵妃| 久久午夜国产精品| 99精品视频在线播放免费| 欧美一区二区三区四区在线| 欧美电影《轻佻寡妇》| 国模私拍在线观看| 欧美日韩中文字幕一区| 福利成人导航| 亚洲欧洲日本国产| www.久久精品| 国产三区在线播放| 日韩av电影在线免费播放| 欧美激情第10页| 精品手机在线视频| 日韩精品视频中文在线观看|