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

阿里巴巴如何管理代碼分支?

新聞 前端
阿里有很多的研發團隊,不同事業部使用的發布流程、分支策略并非整齊劃一,但總體上看是比較規整的。

在阿里內部,流行著許多有意思的工程實踐。有些實踐通過工具和流程嵌在集團的大環境里,外界不容易復制,有些實踐則是流露在大家的日常習慣里,被默默的遵守。比如分支管理這件事,其實屬于工具和習慣各占一半,并且頗有阿里特色的成分,適合作為一個例子。

阿里有很多的研發團隊,不同事業部使用的發布流程、分支策略并非整齊劃一,但總體上看是比較規整的。其中有一種主流的發布模式以及對應的分支使用方式,稱為“AoneFlow”。這套工作模式思路獨特,在阿里以外的地方并不多見。本文圍繞這些實踐,聊一聊分支管理的話題。

細數分支模式

說到分支管理模式,我們耳熟能詳的莫過于 TrunkBased 和 GitFlow。

TrunkBased 模式是持續集成思想所崇尚的工作方式,它由單個主干分支和許多發布分支組成,每個發布分支在特定版本的提交點上從主干創建出來,用來進行上線部署和 Hotfix。在 TrunkBased 模式中,沒有顯性的特性分支。當然實際上 Git 的分布式特征天生允許每個人有本地分支,TrunkBased 也并非排斥短期的特性分支存在,只不過在說這種模式的時候,大家通常都不會明確強調它罷了。

雖然近年來有許多不錯的案例,但 TrunkBased 模式并沒有一統天下。它的缺點比較明顯,太多的團隊同時工作在主干上,到發布的時候就可能出現災難(尤其是多版本并行開發的情況)。彌補的措施是 FeatureToggle 以及頻繁的集成和足夠的測試覆蓋,這對開發團隊的能力提出了比較高的要求。目前 TrunkBased 模式主要用在不需要同時維護多個歷史版本的 SaaS 型項目,特別是經過微服務改造的各種小型服務上。

TrunkBased 模式有兩種常見演進版本。OneFlow 模式參考了 TrunkBased 的許多思想,對操作流程做了更嚴格的定義,增加了 Hotfix 分支等內容。多主干模式(通常是雙主干,固定的開發分支和固定的發布分支),算是 TrunkBased 采用固定發布分支的特例,在 提升團隊的微服務落地能力 這篇文章里介紹過,不再贅述。

GitFlow 模式是若干模式的集大成者,包含一個主干分支、一個開發分支、許多的特性分支、許多的發布分支和 Hotfix 分支,以及許多繁瑣的合并規則。它有一個 Git 插件,不過早就沒人維護了。由于對每個階段的每項操作定義十分明確,它曾經是很多重視流程的企業眼里的香饃饃。但它使用起來并不是很容易,大量的合并沖突和對集成測試不友好也是它被詬病最多的地方。

對,還有 GithubFlow 模式,不過這種策略無非是在 TrunkBased 的基礎上,增加了個人倉庫和 Pull Request 合并代碼的操作,與在同一個倉庫里增加個人分支的做法類似,從實用的意義來說,它更合適分布式團隊。GithubFlow 也有演進版本,例如強調了多環境部署和將倉庫或分支與環境關聯的 GitlabFlow 模式。

要么簡單粗暴如 TrunkBased,要么繁瑣復雜如 GitFlow。難到真沒有其他選擇了嗎?

另辟蹊徑的 AoneFlow

在 AoneFlow 上你能看到許多其他分支模式的影子。它基本上兼顧了 TrunkBased 的“易于持續集成”和 GitFlow 的“易于管理需求”特點,同時規避掉 GitFlow 的那些繁文縟節。

看一下具體套路。AoneFlow 只使用三種分支類型:主干分支、特性分支、發布分支,以及三條基本規則。

規則一,開始工作前,從主干創建特性分支。

AoneFlow 的特性分支基本借鑒 GitFlow,沒有什么特別之處。每當開始一件新的工作項(比如新的功能或是待解決的問題)的時候,從代表最新已發布版本的主干上創建一個通常以<span>feature/</span>前綴命名的特性分支,然后在這個分支上提交代碼修改。也就是說,每個工作項(可以是一個人完成,或是多個人協作完成)對應一個特性分支,所有的修改都不允許直接提交到主干。

阿里巴巴如何管理代码分支?

規則二,通過合并特性分支,形成發布分支。

AoneFlow 的發布分支設計十分巧妙,可謂整個體系的精髓。GitFlow 先將已經完成的特性分支合并回公共主線(即開發分支),然后從公共主線拉出發布分支。TrunkBased 同樣是等所有需要的特性都在主干分支上開發完成,然后從主干分支的特定位置拉出發布分支。而 AoneFlow 的思路是,從主干上拉出一條新分支,將所有本次要集成或發布的特性分支依次合并過去,從而得到發布分支。發布分支通常以<span>release/</span>前綴命名。

阿里巴巴如何管理代码分支?

這條規則很簡單,不過實際的玩法就相當豐富了。

首先,發布分支的用途可以很靈活。基礎玩法是將每條發布分支與具體的環境相對應,比如 release/test 分支對應部署測試環境,release/prod 分支對應線上正式環境等等,并與流水線工具相結合,串聯各個環境上的代碼質量掃描和自動化測試關卡,將產出的部署包直接發布到相應環境上。進階點的玩法是將一個發布分支對應多個環境,比如把灰度發布和正式發布串在一起,中間加上人工驗收的步驟。高級的玩法呢,要是按迭代計劃來關聯特性分支,創建出以迭代演進的固定發布分支,再把一系列環境都串在這個發布分支的流水線上,就有點經典持續集成流水線的味道了。再或者做一個將所有特性分支都關聯在一起的發布分支,專門用于對所有提交做集成測試,就玩出了 TrunkBased 的效果。當然,這些花哨的高級玩法是我臆想的,阿里的發布分支一般都還是比較中規中矩。

其次,發布分支的特性組成是動態的,調整起來特別容易。在一些市場瞬息萬變的互聯網企業,以及采用“敏捷運作”的乙方企業經常會遇到這種情況,已經完成就等待上線的需求,隨時可能由于市場策略調整或者甲方的一個臨時決定,其中某個功能忽然要求延遲發布或者干脆不要了。再或者是某個特性在上線前發現存在嚴重的開發問題,需要排除。按往常的做法,這時候就要來手工“剔代碼”了,將已經合并到開發分支或者主干分支的相關提交一個個剔除出去,做過的同學都知道很麻煩。在 AoneFlow 的模式下,重建發布分支只是分分鐘的事,將原本的發布分支刪掉,從主干拉出新的同名發布分支,再把需要保留的各特性分支合并過來就搞定。這一系列動作能夠在很大程度上實現自動化,而且不會在倉庫留下一堆剔除代碼的記錄,干凈無污染。

此外,發布分支之間是松耦合的,這樣就可以有多個集成環境分別進行不同的特性組合的集成測試,也能方便的管理各個特性進入到不同環境上部署的時機。松耦合并不代表沒有相關性,由于測試環境、集成環境、預發布環境、灰度環境和線上正式環境等發布流程通常是順序進行的,在流程上可以要求只有通過前一環境驗證的特性,才能傳遞到下一個環境做部署,形成漏斗形的特性發布流。阿里有統一平臺來自動化完成特性組合在發布分支間的遷移,在下面講工具的部分里會再介紹。

規則三,發布到線上正式環境后,合并相應的發布分支到主干,在主干添加標簽,同時刪除該發布分支關聯的特性分支。

當一條發布分支上的流水線完成了一次線上正式環境的部署,就意味著相應的功能真正的發布了,此時應該將這條發布分支合并到主干。為了避免在代碼倉庫里堆積大量歷史上的特性分支,還應該清理掉已經上線部分特性分支。與 GitFlow 相似,主干分支上的最新版本始終與線上版本一致,如果要回溯歷史版本,只需在主干分支上找到相應的版本標簽即可。

阿里巴巴如何管理代码分支?

除了基本規則,還有一些實際操作中不成文的技巧。比如上線后的 Hotfix,正常的處理方法應該是,創建一條新的發布分支,對應線上環境(相當于 Hotfix 分支),同時為這個分支創建臨時流水線,以保障必要的發布前檢查和冒煙測試能夠自動執行。但其實還有一種簡便方法是,將線上正式環境對應的發布分支上關聯的特性分支全部清退掉,在這個發布分支上直接進行修改,改完利用現成的流水線自動發布。如果非得修一個歷史版本的 Bug 怎么辦呢?那就老老實實的在主干分支找到版本標簽位置,然后從那個位置創建 Hotfix 分支吧,不過由于阿里的產品大多是線上 SaaS 業務,這樣的場景并不多見。

正是這些簡單的規則,組成了 AoneFlow 獨樹一幟的核心套路。

AoneFlow 中每一個看似簡單的步驟都并非憑空臆造,而是經歷大量產品團隊反復磨礪后積累下來的經驗。接下來,我會說說 AoneFlow 的技術門檻以及阿里內部的應對之道。

AoneFlow 的體驗優化

諳熟武俠之道的人都懂得,掌握一個門派的看家武藝,除了要會招式,還得有深厚的內功和趁手的兵器。否則拿了辟邪劍譜,也只能望譜興嘆。

阿里團隊的內功和兵器,實際上是良好的代碼習慣和齊全的配套工具。

這里說的習慣,除了開發流程和代碼分支的管理方式以外,還包括日常開發中的一些約定俗成的規約。阿里的許多開發規約是有“文獻”記載的,主要收錄在《阿里巴巴 Java 開發手冊》里面。它的內容現在已經公開了,所以早就不算是秘密。

舉一個具體的例子。在 AoneFlow 的流程中,每次重建發布分支的時候都會重新合并然后編譯代碼,產生新的部署包。然而,即使代碼的內容是一樣的,如果工程中依賴了一些會改變的第三方軟件包,依然可能導致打包出的產品行為不完全一致。因此,在阿里的代碼規約中就明確地指出了,用于線上發布的代碼,不可以使用包含“SNAPSHOT 版本”(即未正式發布版本)的依賴包,從而確保每次構建出的產物都是一致的。類似這樣的細節還有很多,好的開發習慣是確保軟件質量的必要前提。

工具可以使得團隊協作更加平滑。雖然只要弄懂原理,AoneFlow 中每個分支創建、合并、更改步驟使用單純的 Git 命令就能玩轉。但其中的一些操作(比如為每個發布分支選出恰當的特性分支組合進行合并)手工執行極易出錯,而且讓團隊的個人重復這些日常瑣事的命令操作,并不是令人愉悅的事情。

在阿里內部,使用 AoneFlow 流程的團隊基本上不用自己運行 Git 來處理分支的事情,而是由阿里巴巴集團內部名叫 Aone 的協同研發平臺(以下簡稱平臺)接管。這個承擔集團 80% 產品從需求和用戶故事提出到部署上線完整研發流程的平臺,內置了許多以服務組件的形式嵌入的研發提效工具,其中的發布組件為 AoneFlow 的用戶體驗添色不少。比較顯著的輔助“功效”包括以下幾個方面。

首先是整體流程的自動化。

由于是內部工具,平臺的功能高度內聚。對于項目而言,從提出原始需求,將需求拆分為任務,然后根據任務在線創建特性分支,再聚合生成發布分支,同時根據模板自動創建測試環境,直到后期的運維保障都可以一站式的搞定。

這個流程已經遠遠超出了代碼分支管理的范疇。但正是因為如此,平臺對于 AoneFlow,向前做到了將特性分支和需求項關聯起來,確保了特性分支的命名規范性;向后做到了將發布分支與部署行為關聯起來,確保了各環境版本來源的可靠性。打通了端到端交付的任督二脈。

其次是發布分支的流水線。

作為一種流程自動化的手段,CI/CD 流水線是許多現代交付團隊中常見的標配實踐。在 AoneFlow 的代碼生命周期里涉及許多分支,當這些分支被創建或更新時,往往需要伴隨其他的一系列行為。流水線能夠將這些日常開發過程中的代碼分支與其所表達的深層意圖(比如提交代碼即進行集成測試)聯系起來。特別是發布分支,AoneFlow 的每個發布分支通常關聯具體的部署環境,當有新代碼合并進分支時,就應該及時對代碼進行檢查和部署。

理想情況下,每條不同的分支都應該有與其作用相匹配的一條流水線來為它服務。AoneFlow 的發布分支是相對固定的,因此相比 GitFlow 更易于進行持續集成。理論上任何流水線工具都能夠配合 AoneFlow 使用,不過,阿里的統一平臺提供流水線對代碼評審、安全檢查、在線部署等功能的整合,還是為 AoneFlow 在內部團隊的使用優化增色不少。

還有一項很有用的輔助是分支關聯的管理。

特性分支與發布分支的關聯關系維護是一個 AoneFlow 特有的問題。記住每個發布分支分別來自哪些特性分支對于需要基于現有特性組合進行改變的時候十分有意義。比如當需要將某個特性從特定發布分支退出時,通常會將除了該特性以外的其他特性所在分支進行一次合并,以替換原有的發布分支。人為的記錄這些信息并不輕松,要是通過平臺進行展示和輔助就會方便許多。

當某些功能組合在一個低級別的發布環境(如集成測試環境)驗證完成后,我們希望將它的內容直接遷移到高級別的環境(如預發布環境)對應的發布分支上。這樣可以確保線上的版本一定是經過預發驗證的,預發的版本一定是經過集成驗證的,以此類推,使得各個發布分支形成串聯。同樣的,使用普通的 Git 命令就能實現這個操作,只不過用可視化工具會讓流程更加直觀。

除此以外,平臺提供代碼倉庫各個分支狀況的統一展示,包括分支所對應部署環境的機器信息、操作記錄等全都一覽無余。正是這些“高附加值”的輔助,使得 AoneFlow 得以揚長避短,成為阿里團隊支撐復雜項目首選的利器。

寫在最后

代碼分支模式的選擇并沒有絕對的正確和錯誤之分,關鍵是與項目的規模和發布節奏相匹配。阿里協同研發平臺在經過眾多實踐歷練后,總結出了一套獨創的分支管理方法,通過兼備靈活高效與簡單實用的流程,保障阿里旗下眾多產品的交付。當你還在猶豫于琳瑯滿目的分支模式,既舍不得 GitFlow 的并行特性開發,又放不下 TrunkBased 的持續集成友好時,AoneFlow 也許是一個值得考慮的選擇。 

責任編輯:張燕妮 來源: 高效開發運維
相關推薦

2013-08-22 09:41:52

阿里巴巴去IOE王堅

2010-06-28 10:43:47

2013-04-15 10:14:45

阿里巴巴大數據

2018-05-28 13:31:00

職場阿里巴巴

2021-08-18 17:16:10

Git分片讀寫分離

2009-02-27 10:46:32

DBA筆試題阿里巴巴

2023-03-29 09:42:32

2013-08-22 09:36:45

阿里巴巴王堅阿里云

2017-09-06 16:31:55

阿里巴巴

2009-06-30 13:28:54

阿里巴巴旺旺

2014-12-31 10:48:40

阿里巴巴馬云

2009-06-22 09:38:49

阿里巴巴辦公環境

2010-08-25 14:33:59

抄底

2015-04-23 15:30:08

2015-06-12 10:12:30

2020-12-18 10:55:51

阿里巴巴Redis數據庫

2015-05-12 15:09:01

阿里巴巴公有云IaaS

2018-10-16 15:34:17

阿里巴巴Apache Flin大數據

2022-08-22 08:07:45

DruidMySQL密碼

2014-06-11 10:04:05

UC優視阿里巴巴
點贊
收藏

51CTO技術棧公眾號

欧美一区二区三区在线观看| 国产视频在线观看一区二区三区| 欧美黑人一级爽快片淫片高清| 亚洲一二三四五| 正在播放日韩精品| 国产精品久久午夜夜伦鲁鲁| 99久久伊人精品影院| 日本熟女毛茸茸| 亚洲午夜精品一区二区国产| 亚洲国产日韩精品在线| 免费看国产黄色片| 91av久久| 国产精品久久久久久久久快鸭| 成人羞羞视频免费| 亚洲av无码不卡| 欧美激情日韩| 中文字幕亚洲第一| 影音先锋人妻啪啪av资源网站| 国外成人福利视频| 精品国产乱码久久久久酒店| 一区精品在线| 日韩电影网址| 国产成人99久久亚洲综合精品| 国产成人拍精品视频午夜网站| 免费国产羞羞网站美图| 蜜臀av免费一区二区三区| 欧美一区二区三区成人| 国产一区二区在线免费播放| 91高清视频在线观看| 亚洲欧洲av色图| 欧美午夜欧美| 天堂网av在线播放| 国产福利91精品一区二区三区| 国产精品户外野外| 天天干天天干天天干天天| 欧美激情麻豆| 久久大大胆人体| 又色又爽的视频| 精品久久国产| 亚洲精品永久免费| 艳妇乳肉亭妇荡乳av| 91精品导航| 欧美一级欧美三级在线观看 | 一本一道波多野毛片中文在线| 99精品久久只有精品| 俄罗斯精品一区二区三区| 91麻豆一区二区| 男人的j进女人的j一区| 日韩女优在线播放| 中文字幕xxxx| 免费日韩av片| 国产91色在线|免| 7799精品视频天天看| 欧美综合二区| 国产成人综合一区二区三区| 欧美啪啪小视频| 亚洲免费影视| 国产成人一区二区在线| 日日夜夜狠狠操| 日韩av成人高清| 国产精品久久中文| 中文字幕有码视频| 久久91精品久久久久久秒播| 成人福利网站在线观看11| 国产孕妇孕交大片孕| 国产精品资源在线| 成人在线免费网站| 亚洲AV第二区国产精品| 久久久久久久久久久久久久久99 | 一区二区三区四区电影| 不卡av电影在线观看| 欧美日韩成人免费观看| 亚洲国产精品第一区二区| 午夜精品久久久久久久久久久久| www.av麻豆| 久久久777| 国产美女精品视频| а√天堂资源在线| www.成人网.com| 日韩电影免费观看在| 免费网站看v片在线a| 一区二区三区在线视频免费 | 亚洲国产成人精品女人久久久 | 麻豆av免费看| 一道本一区二区三区| 一本色道久久88综合亚洲精品ⅰ| 日本午夜精品视频| 欧美精品国产一区二区| 欧美一级片久久久久久久| 中文无码av一区二区三区| 国产精品影视天天线| 精品国产91亚洲一区二区三区www 精品国产_亚洲人成在线 | 国产精品制服诱惑| 久草在线青青草| 亚洲欧美成人一区二区三区| 亚洲理论电影在线观看| 欧美大片1688| 日韩精品综合一本久道在线视频| 特级西西人体4444xxxx| 久久国产精品亚洲人一区二区三区| 久久99精品视频一区97| 五月天婷婷激情| 蜜桃久久精品一区二区| 国产精品视频免费一区| sese一区| 精品久久久久久久久久久久久久| xx欧美撒尿嘘撒尿xx| 国产精品毛片久久久| 最近2019中文字幕一页二页| 国产污片在线观看| 精品一区二区三区的国产在线播放 | 久久成年人免费电影| www.久久久久久久| 成人高清av在线| 一区一区视频| 秋霞国产精品| 日韩精品极品毛片系列视频| 欧美成人777| 日本亚洲最大的色成网站www| 成人片在线免费看| 大片免费在线观看| 欧美日韩综合在线免费观看| 国产午夜在线一区二区三区| 国产精品久久天天影视| 热门国产精品亚洲第一区在线| 99在线观看免费| 国产精品国产三级国产普通话三级| 无码播放一区二区三区| 91成人在线精品视频| 久久精品亚洲精品| 亚洲一区二区影视| 国产清纯白嫩初高生在线观看91 | 91精品国产乱码久久久久| 91美女精品福利| 成人在线国产视频| 日韩中文字幕视频网| 日韩视频精品在线| 亚洲欧美自拍视频| 成人黄色网址在线观看| av一区二区三区免费观看| 国产精品字幕| 中文字幕日韩精品有码视频| 高潮毛片又色又爽免费 | 亚洲精品国精品久久99热| 欧美精品久久久久性色| 国产在线视频不卡二| 亚洲一区二区在| 久久免费资源| 色婷婷**av毛片一区| 中文在线字幕av| 国产精品嫩草影院av蜜臀| 亚洲欧美在线精品| 热久久天天拍国产| 国产精品爽黄69天堂a| av一区在线观看| 欧美三区在线观看| 欧美88888| 国内精品伊人久久久久av一坑| 正在播放国产精品| 精品国模一区二区三区欧美| 久热在线中文字幕色999舞| 国产福利小视频| 亚洲午夜久久久久| 添女人荫蒂视频| 三级在线观看一区二区| 色播五月综合| 疯狂欧洲av久久成人av电影| 欧美老女人在线视频| 免费观看a视频| 精品国产成人av| 黄免费在线观看| 久久99久久99| www.好吊操| 欧美成人一区在线观看| 性色av一区二区三区红粉影视| 三级理论午夜在线观看| 欧美亚男人的天堂| 欧美日韩大片在线观看| 91在线云播放| 一区二区三区韩国| 欧美激情第8页| 麻豆av福利av久久av| 福利一区二区| 久久久亚洲欧洲日产国码aⅴ| 天堂在线中文字幕| 欧美日本在线观看| 日韩av在线电影| 国产精品美女久久久久aⅴ| 日本成人在线免费| 日韩专区在线视频| 欧美 日韩 国产精品| 欧美日韩xxxx| 91文字幕巨乱亚洲香蕉| 国产精品伦理| 欧美黑人xxxⅹ高潮交| 青青草在线免费观看| 91精品在线麻豆| 久久精品无码av| 一区二区三区精密机械公司| 国产高潮呻吟久久| 高潮精品一区videoshd| 天天色综合社区| 亚洲毛片网站| 欧洲金发美女大战黑人| 国产videos久久| 国产精品我不卡| 亚洲在线资源| 国产精品精品视频一区二区三区| 黄视频在线免费看| 日韩三级成人av网| 毛片免费在线观看| 亚洲国产精品va在线看黑人| 亚洲影院一区二区三区| 色哟哟精品一区| 欧美成人片在线观看| 中文字幕+乱码+中文字幕一区| 水蜜桃av无码| 懂色一区二区三区免费观看| 五月花丁香婷婷| 日韩精品亚洲一区| 国产a级一级片| 在线电影一区| 国产奶头好大揉着好爽视频| 精品精品久久| 欧美日韩精品免费观看| 国语一区二区三区| 国产不卡一区二区在线观看| 国产成人免费视频网站视频社区| 国产精品都在这里| 欧洲av不卡| 欧美一乱一性一交一视频| av在线理伦电影| 欧美黑人巨大xxx极品| 超碰在线观看免费| 久久人体大胆视频| 欧美一级二级三级区| 色哟哟亚洲精品一区二区| 国产区视频在线| 亚洲欧美激情视频| 日本在线视频1区| 精品中文字幕久久久久久| 天天综合在线视频| 欧美成人综合网站| 国产香蕉在线观看| 精品国产三级电影在线观看| 亚洲AV午夜精品| 欧美变态tickling挠脚心| 精品人妻少妇AV无码专区 | 国产精品亚洲一区二区三区| 精品3atv在线视频| 国产精品6699| 男人天堂久久| 91香蕉国产在线观看| 国产精品一区二区精品视频观看| 成人免费直播live| 警花av一区二区三区| 岛国视频一区免费观看| 国产精品极品| 裸模一区二区三区免费| 欧美在线色图| 黄色污污在线观看| 激情文学一区| 国内外免费激情视频| 免费成人在线网站| 毛片毛片毛片毛片毛| 成人国产精品视频| 性久久久久久久久久| 亚洲国产精品v| 538精品在线观看| 精品久久久久久久久久国产| 中文字幕 国产精品| 欧美日韩成人高清| 亚洲国产成人在线观看| 日韩精品福利网站| 一广人看www在线观看免费视频| 欧美剧在线观看| 忘忧草在线日韩www影院| 国产精品盗摄久久久| 高清一区二区三区av| 国产欧美在线一区二区| 国产成人手机高清在线观看网站| 一区二区三区四区视频在线| 欧美色图首页| 免费激情视频在线观看| 国产美女久久久久| 成人影视免费观看| 自拍偷在线精品自拍偷无码专区| 日韩精品视频免费播放| 精品视频一区二区不卡| 亚洲免费国产视频| 在线中文字幕日韩| xxxx成人| 国产综合久久久久久| 国产乱人伦丫前精品视频| 一级特黄录像免费播放全99| 亚洲大胆视频| 国产三级精品三级在线| 99re6这里只有精品视频在线观看| 色偷偷男人天堂| 精品久久久视频| 国产黄色高清视频| 一区二区三区视频在线| 黄色污污视频在线观看| 国产精品视频久| 网红女主播少妇精品视频| 免费国产成人看片在线| 日本午夜精品视频在线观看| 国产一级黄色录像| 亚洲免费在线观看视频| 姑娘第5集在线观看免费好剧| 精品国产sm最大网站免费看| 最新97超碰在线| 欧美在线欧美在线| 国产精品99久久免费观看| 在线精品日韩| 日日噜噜夜夜狠狠视频欧美人| 色哟哟视频在线| 一区二区国产盗摄色噜噜| 亚洲图片视频小说| 亚洲男人天堂网| 看黄在线观看| 成人在线免费观看一区| 中文字幕av亚洲精品一部二部| 中文字幕在线观看第三页| 91在线porny国产在线看| 久久精品99国产精| 日韩色视频在线观看| 蜜桃av在线免费观看| 国产人妖伪娘一区91| 国产一区二区三区不卡视频网站| 欧美精品一区免费| 99久久久精品| 国产精品黄色网| 亚洲成人久久久| 国产精品69xx| 国产精品传媒毛片三区| 欧美日韩岛国| 亚洲欧洲日韩综合| 一级日本不卡的影视| 超碰在线观看99| 欧美黑人一区二区三区| 成人在线tv视频| 日本少妇高潮喷水视频| 97精品国产97久久久久久久久久久久| 精品在线免费观看视频| 精品国产sm最大网站| а√在线天堂官网| 精品欧美一区二区精品久久| 日韩午夜黄色| 少妇按摩一区二区三区| 色婷婷久久99综合精品jk白丝| 韩国福利在线| 国产日韩欧美在线看| 亚洲精品国产偷自在线观看| 天天爽夜夜爽视频| 亚洲国产精品久久一线不卡| 色欲av伊人久久大香线蕉影院| 91精品国产网站| 国产精品羞羞答答在线观看| 黄色三级视频片| 中文字幕亚洲在| 亚洲av无码乱码国产精品| 欧美激情亚洲视频| 综合色就爱涩涩涩综合婷婷| 亚洲少妇第一页| 一区二区中文视频| 丰满人妻一区二区三区无码av | 国产成人精品片| 亚洲人成绝费网站色www| 精品自拍视频| 日韩精品免费一区| 91在线看国产| 91超薄丝袜肉丝一区二区| 欧美黑人视频一区| 国精一区二区| 一起草最新网址| 一本色道久久综合狠狠躁的推荐| 成人在线观看黄色| 成人羞羞视频免费| 日本系列欧美系列| 免费在线看黄网址| 亚洲一区999| 日韩精品一区二区三区中文在线| 欧美成人xxxxx| 中文字幕五月欧美| 五月天婷婷激情网| 国产日韩av高清| 亚洲视频大全| 九九精品视频免费| 国产丝袜一区视频在线观看| 99久久久国产| 久久久免费视频网站| 亚洲女子a中天字幕| 日本韩国精品一区二区| 成人免费视频网址| 毛片一区二区| 国产一级二级三级| 色综合亚洲精品激情狠狠| 久久久久久毛片免费看 | 93久久精品日日躁夜夜躁欧美|