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

CI系統(tǒng)的技術(shù)選型與部署流程

開(kāi)發(fā) 前端
云計(jì)算的普及,不僅改變了目前的 IT 基礎(chǔ)設(shè)施與企業(yè)系統(tǒng)架構(gòu),同時(shí)也改變了技術(shù)團(tuán)隊(duì)的組織架構(gòu)和企業(yè)內(nèi)部的研發(fā)流程。

 云計(jì)算的普及,不僅改變了目前的 IT 基礎(chǔ)設(shè)施與企業(yè)系統(tǒng)架構(gòu),同時(shí)也改變了技術(shù)團(tuán)隊(duì)的組織架構(gòu)和企業(yè)內(nèi)部的研發(fā)流程。而持續(xù)集成(CI)和持續(xù)交付(CD)就是企業(yè)內(nèi)部研發(fā)流程提升交付效率的關(guān)鍵。

CI/CD 的核心價(jià)值是效能與質(zhì)量。效能提升的關(guān)鍵在于自動(dòng)化,它包含了兩個(gè)方面:一是整個(gè)軟件研發(fā)流程自動(dòng)化,降低人力成本;二是 CI/CD 平臺(tái)在業(yè)務(wù)接入、資源管理、線上支持、問(wèn)題排查等諸多方面實(shí)現(xiàn)自動(dòng)化,從而減少技術(shù)支撐方面的成本。而質(zhì)量保障,一方面是研發(fā)質(zhì)量,需要提供相應(yīng)的質(zhì)量檢查與測(cè)試工具;另一方面是過(guò)程質(zhì)量,CI/CD 平臺(tái)需要能夠持續(xù)采集研發(fā)流程中的指標(biāo)數(shù)據(jù)(如交付頻率、交付周期、交付成功率),建立起一個(gè)完善的質(zhì)量度量體系。

目前各大公司的 CI/CD 平臺(tái),在工具選型、落地實(shí)現(xiàn)等方面各有不同,此次 InfoQ 采訪到了網(wǎng)易杭州研究院高級(jí)產(chǎn)品開(kāi)發(fā)工程師汪燦豐和高級(jí)服務(wù)端開(kāi)發(fā)工程師梅光輝,他們分享了網(wǎng)易輕舟在 CI/CD 方面的實(shí)踐。由于干貨內(nèi)容太多,我們將這次實(shí)踐分為了上中下三篇內(nèi)容,分別介紹網(wǎng)易的 CI 實(shí)踐、CD 實(shí)踐、測(cè)試自動(dòng)化及 API 版本管理。

1. 網(wǎng)易 CI/CD 實(shí)踐的背景

據(jù)了解,網(wǎng)易的大部分互聯(lián)網(wǎng)產(chǎn)品業(yè)務(wù)團(tuán)隊(duì)都是使用統(tǒng)一的平臺(tái)來(lái)進(jìn)行 CI/CD 實(shí)踐,目前平臺(tái)上運(yùn)行著數(shù)萬(wàn)個(gè)倉(cāng)庫(kù),活躍倉(cāng)庫(kù)近萬(wàn)個(gè),同時(shí)平臺(tái)內(nèi)還有大量副本數(shù)超過(guò)數(shù)千個(gè)的服務(wù),這些服務(wù)每天承載著業(yè)務(wù)方大量的訪問(wèn)。

為了適應(yīng)業(yè)務(wù)發(fā)展的節(jié)奏,網(wǎng)易內(nèi)部廣泛推行了敏捷開(kāi)發(fā),每天通過(guò)平臺(tái)發(fā)布應(yīng)用的次數(shù)達(dá)到數(shù)萬(wàn)次,產(chǎn)品迭代節(jié)奏快,交付周期短。所有業(yè)務(wù)使用統(tǒng)一的平臺(tái)進(jìn)行 CI/CD,無(wú)需各自搭建,降低成本,使用統(tǒng)一的規(guī)范,避免了相同問(wèn)題的多次采坑。

網(wǎng)易公司內(nèi)部的 CI/CD 實(shí)踐主要是輕舟 CI/CD 平臺(tái),該平臺(tái)提供了可視化的流水線編排界面,一次配置,多次運(yùn)行,支持團(tuán)隊(duì)成員共享配置。每次提交或者合并代碼都會(huì)自動(dòng)觸發(fā)流水線的執(zhí)行,自動(dòng)將代碼發(fā)布到環(huán)境上。數(shù)據(jù)顯示 CI/CD 流水線相比傳統(tǒng)的手工或腳本方式平均效率提升了 5 倍以上,發(fā)布效率提升了 8 倍以上。另外通過(guò)整合多種自動(dòng)化測(cè)試工具幫助業(yè)務(wù)方實(shí)現(xiàn)高質(zhì)量的集成。通過(guò)可視化度量平臺(tái)從多個(gè)維度了解構(gòu)建,部署的相關(guān)指標(biāo)數(shù)據(jù),幫助產(chǎn)品提高發(fā)布效率。

之前,網(wǎng)易內(nèi)部有一套從主機(jī)部署時(shí)代發(fā)展過(guò)來(lái)的自動(dòng)化部署平臺(tái),但是其對(duì)容器部署的支持不友好,部署之前需要先在服務(wù)器上部署 agent,注冊(cè)到內(nèi)部 CMDB,再下發(fā)指令執(zhí)行。這樣的執(zhí)行操作注定了這個(gè)平臺(tái)在大批量部署場(chǎng)景下會(huì)存在性能瓶頸。

基于原平臺(tái)存在的性能問(wèn)題,以及對(duì)業(yè)務(wù)容器化、微服務(wù)化演進(jìn)的判斷,網(wǎng)易研發(fā)了新的輕舟 CI/CD 平臺(tái),成為了網(wǎng)易云原生技術(shù)棧的重要組成部分,滿足云原生環(huán)境下企業(yè)在能效、團(tuán)隊(duì)協(xié)作效率、產(chǎn)品迭代速度等多方面的需求。

在使用體驗(yàn)上,輕舟 CI/CD 是一體的,但是在系統(tǒng)架構(gòu)設(shè)計(jì)方面,其實(shí)是分開(kāi)的。下面,我們就分別來(lái)講講 CI 和 CD 的系統(tǒng)設(shè)計(jì)。

2. 網(wǎng)易 CI 實(shí)踐的整體架構(gòu)及工具選型

與絕大多數(shù)互聯(lián)網(wǎng)公司一樣,網(wǎng)易內(nèi)部各業(yè)務(wù)方的持續(xù)集成也大都是由研發(fā)團(tuán)隊(duì)的 QA 負(fù)責(zé)的,CI 工具選擇了比較常用的 Jenkins,同時(shí)在流水線的上下游整合了其它的主流 CI 工具。整個(gè)流水線平臺(tái)依托于 Kubernetes,基于 K8s 的 CRD(自定義資源)重新設(shè)計(jì)了流水線上層模型,并通過(guò) Operator 驅(qū)動(dòng)流水線執(zhí)行過(guò)程。

當(dāng)流水線觸發(fā)一次執(zhí)行時(shí),將會(huì)產(chǎn)生一個(gè) PipelineRun 對(duì)象,Operator 將會(huì)根據(jù)對(duì)應(yīng)的流水線預(yù)先定義好的階段生成對(duì)應(yīng)的 Job,然后通過(guò) Jenkins 的 API 觸發(fā) Job 執(zhí)行。Job 執(zhí)行完成后,將會(huì)通過(guò) Webhook 回調(diào)上層服務(wù)接口,將狀態(tài)回寫(xiě)到 PipelineRun 中,然后觸發(fā)下一個(gè)階段的執(zhí)行。

CI 工具選型

傳統(tǒng)的持續(xù)集成實(shí)踐本身就很占資源,編譯構(gòu)建對(duì)磁盤(pán)、CPU,甚至是網(wǎng)絡(luò)都有一定的要求,如果在高峰期想要保證持續(xù)集成任務(wù)能夠及時(shí)運(yùn)行,通常需要預(yù)留大量的構(gòu)建機(jī)資源,這不僅會(huì)導(dǎo)致資源浪費(fèi),同時(shí)也需要更多人力來(lái)維護(hù)管理,成本會(huì)很高。

所以,網(wǎng)易技術(shù)團(tuán)隊(duì)在進(jìn)行 CI 工具選型時(shí),就直接圈定了 4 個(gè)當(dāng)前主流的工具,分別是 Travis CI、Circle CI、GitLab CI 和 Jenkins,并詳細(xì)對(duì)比了 4 個(gè)工具。

其中,Travis CI、CircleCI 在 Github 開(kāi)源項(xiàng)目中使用較多,但不支持私有化部署,不適合公司實(shí)踐;GitLab CI 可以與代碼倉(cāng)庫(kù)無(wú)縫集成,且天然支持 GitOps,但整體生態(tài)目前并不成熟,需要自己制作 builder 的鏡像,并與 Gitlab 深度綁定;Jenkins 作為傳統(tǒng)的 CI 工具,社區(qū)和生態(tài)都比較完善,Jenkins 2.0 版本提供了 Pipeline as code 的特性,可以將 CI 過(guò)程納入版本管理,支持 GitOps。此外,Jenkins 社區(qū)也誕生了 kubernetes-plugin 這樣的插件,可以將流水線的執(zhí)行從傳統(tǒng)的物理機(jī)轉(zhuǎn)移到容器中,再依托 Kubernetes 強(qiáng)大的調(diào)度能力,就可以實(shí)現(xiàn)資源的動(dòng)態(tài)調(diào)度和編排。

基于以上原因,網(wǎng)易輕舟最終選擇了 Jenkins,但是傳統(tǒng)的 Jenkins 在系統(tǒng)運(yùn)維、資源管理、使用方式等方面,存在很多問(wèn)題。例如,Jenkins 的 master-slave 架構(gòu)比較經(jīng)典,但由于誕生時(shí)間較早,所有配置和數(shù)據(jù)都是基于文件存儲(chǔ)的(存儲(chǔ)在 Jenkins master 節(jié)點(diǎn) home 目錄下),修改時(shí),會(huì)先更新內(nèi)存,然后異步寫(xiě)入磁盤(pán),而當(dāng)?shù)讓游募桓聲r(shí),Jenkins 并不會(huì)自動(dòng) reload 更新后的數(shù)據(jù),因此,很難做到高可用;Jenkins master 實(shí)例對(duì)文件目錄是獨(dú)占的,不同 Jenkins 實(shí)例也無(wú)法共享底層存儲(chǔ)...... 因此,網(wǎng)易技術(shù)團(tuán)隊(duì)希望能夠在傳統(tǒng) Jenkins 版本中做出以下改進(jìn):

  • 結(jié)合 Docker/Kubernetes 云原生技術(shù)棧,解決傳統(tǒng) Jenkins 使用中的痛點(diǎn);
  • 通過(guò)將業(yè)內(nèi)最佳實(shí)踐固化到產(chǎn)品中,解決易用性的問(wèn)題,降低用戶使用門檻,提高接入效率;
  • 重新設(shè)計(jì)上層流水線模型,提供更加強(qiáng)大的流水線編排調(diào)度能力;
  • 自研流水線底層組件,替代 Jenkins 插件,提供更加靈活的擴(kuò)展能力,方便與公司內(nèi)部系統(tǒng)進(jìn)行集成;
  • 提供豐富的企業(yè)級(jí)特性(如認(rèn)證、鑒權(quán)、審計(jì)、告警、通知等),滿足企業(yè)客戶需求;

除了 Jenkins,網(wǎng)易輕舟在整個(gè)流水線的上下游也整合了其它的主流 CI 工具,例如:

  • 代碼倉(cāng)庫(kù):支持 Git/SVN,可以適配絕大多數(shù)代碼托管平臺(tái),并且對(duì) Gitlab 做了深度適配,例如,支持從 Gitlab Webhookpayload 中提取各類參數(shù);
  • 代碼掃描:集成了 SonarQube,支持了所有主流的編程語(yǔ)言;
  • 單元測(cè)試:整合了 Java 中常用的 Jacoco 工具,方便用戶在運(yùn)行單元測(cè)試時(shí),生成對(duì)應(yīng)的 UT 和覆蓋率報(bào)告;
  • 代碼編譯:Java 支持了 Maven/Gradle,并且內(nèi)置了 Nexus 私服,方便做內(nèi)網(wǎng)代理;Node.js 支持了 Npm;Golang 支持了 go mod 緩存加速;
  • 鏡像構(gòu)建:支持 Docker out of Docker、Kaniko 兩種構(gòu)建方式,用戶可以根據(jù)自身需求選擇使用;
  • 鏡像倉(cāng)庫(kù):整合了 Harbor,支持 Harbor webhook,并且集成了 Harbor 的鏡像掃描和鏡像復(fù)制功能;
  • 容器部署:支持 kubectl 原生部署、升級(jí),以及輕舟 CI/CD 應(yīng)用部署等多種部署方式;
  • 自動(dòng)化測(cè)試:支持 Java 語(yǔ)言常用的 TestNG,同時(shí)整合了網(wǎng)易內(nèi)部的 GoAPI 測(cè)試平臺(tái),支持在流水線中運(yùn)行指定的接口測(cè)試集,并在執(zhí)行時(shí)輸出測(cè)試報(bào)告;
  • 告警通知:集成了郵件發(fā)送、短信告警、網(wǎng)易 POPO 等多種通知方式;

據(jù)了解,目前國(guó)內(nèi)大部分公司對(duì) Jenkins 的使用方式依然停留在 1.0 的時(shí)代,很多人都還在使用 Jenkins 的 UI 配置方式,并沒(méi)有使用到 Jenkins 2.0 提供的 Pipeline as code 功能,并且在使用場(chǎng)景上,大量依賴一些自定義腳本,這些腳本通常由 QA 同學(xué)事先預(yù)置在機(jī)器上,一旦機(jī)器出現(xiàn)宕機(jī)或故障,遷移起來(lái)成本也很高。相較之下,選擇更新版本的 Jenkins,使用更前沿的功能,并適時(shí)輔以其它 CI 工具,往往會(huì)有更好的效果。

3. 網(wǎng)易 CI 實(shí)踐的分支管理與協(xié)作流程

所有 CI 實(shí)踐的源頭一定是代碼變更,好的代碼分支管理和版本變更規(guī)范是做好 CI 實(shí)踐的前提。網(wǎng)易輕舟是基于 GitFlow 進(jìn)行代碼管理和協(xié)作流程的,主要的階段包括預(yù)發(fā)驗(yàn)證、測(cè)試驗(yàn)證和代碼審查、集成、驗(yàn)證。

網(wǎng)易輕舟 CI 實(shí)踐中的主要分支有 devlop 和 master,輔助分支包括 feature/*、release/v1.x.0、hotfix/v1.x.1。

  • develop: 集成分支, 不允許 commit/push, 僅允許來(lái)自 feature/* 或 hotfix/v*
  • 分支的合并;
  • master: 版本分支, 不允許 commit/push, 僅允許來(lái)自 release/v*或 hotfix/v*
  • 分支的合并, 每次接受合并后必須在其上創(chuàng)建 TAG;
  • feature/*: 功能分支, 從 develop 派生, 不允許來(lái)自 develop 的合并, 合并到 develop 后刪除;
  • release/v1.x.0: 發(fā)版更新驗(yàn)證分支, 從 master 派生, 派生時(shí)根據(jù) master 分支 TAG 標(biāo)記并遞第二位版本號(hào)命名。不允許 commit/push, 只允許來(lái)自 develop 的合并, 合并到 master 之后刪除;
  • hotfix/v1.x.1: 補(bǔ)丁更新驗(yàn)證分支, 從 master 派生, 派生時(shí)根據(jù) master 分支 TAG 標(biāo)記并遞增第三位版本號(hào)命名。允許 commit/push, 不允許 來(lái)自 develop 的合并, 合并到 master 后必須再合并到 develop , 合并后刪除。

除此之外,關(guān)于 TAG,網(wǎng)易輕舟也有一些特定要求:

  • v1.x.0: 發(fā)版更新, release/v* 分支合入 master 后, 在 master 分支上創(chuàng)建;
  • v1.x.1: 補(bǔ)丁更新, hotfix/v* 分支合入 master 后, 在 master 分支上創(chuàng)建;
  • 此外,為了保證代碼合入的質(zhì)量,我們也制定了對(duì)應(yīng)的代碼 review 原則;
  • 任何代碼變更都必須提 mr,不允許直接 push 到 dev/master 等保護(hù)分支;
  • 任何變更至少必須有兩名團(tuán)隊(duì)其他成員 review 過(guò),才能合入 develop、hotfix 分支,只有被團(tuán)隊(duì)接受的代碼才是團(tuán)隊(duì)的代碼。

網(wǎng)易 CI 流程的具體步驟

通常,一個(gè)持續(xù)集成流程會(huì)包括以下步驟:代碼檢出、單元測(cè)試、靜態(tài)掃描、編譯、構(gòu)建、鏡像掃描和測(cè)試部署。好的持續(xù)集成流程一定是面向質(zhì)量的,所以,在實(shí)踐過(guò)程中除了工具和流程,還需要做好代碼質(zhì)量相關(guān)的工作。

對(duì)于大部分團(tuán)隊(duì)來(lái)說(shuō),CI 可能是由 QA 維護(hù)的,因此在實(shí)際使用過(guò)程中,會(huì)將線下環(huán)境的 CI 和線上分離開(kāi),線上通常更加注重持續(xù)部署,主要由 QA、PE 等角色負(fù)責(zé),流程上會(huì)簡(jiǎn)化一些,更加注重運(yùn)維規(guī)范、上線審核。

代碼檢出: 通常需要在流水線中配置代碼源、ssh 秘鑰以及代碼分支等信息,為了優(yōu)化代碼檢出性能,CI/CD 流水線會(huì)采用的 git 淺拷貝的方式來(lái)加速整個(gè)過(guò)程。

靜態(tài)掃描: 這是流水線至關(guān)重要的一環(huán),運(yùn)行時(shí)會(huì)將掃描的數(shù)據(jù)上傳至用戶預(yù)先配置好的 SonarQube 平臺(tái),并且通過(guò) SonarQube 的 QualityGate 進(jìn)行質(zhì)量卡點(diǎn),除了 QualityGate,用戶還可以自定義一些流水線特有的卡點(diǎn)規(guī)則,并且配置通過(guò)郵件、網(wǎng)易 popo 等通知執(zhí)行結(jié)果。

單元測(cè)試: 這是 CI 過(guò)程中必不可少的一環(huán),CI/CD 流水線整合了常用的 Jacoco 工具,方便用戶在運(yùn)行單元測(cè)試時(shí)生成對(duì)應(yīng)的 UT 和覆蓋率報(bào)告,報(bào)告的內(nèi)容可以在流水線執(zhí)行詳情頁(yè)查看,同時(shí)支持用戶設(shè)置單元測(cè)試通過(guò)率、UT 覆蓋率卡點(diǎn),并發(fā)送相應(yīng)的郵件通知。

代碼編譯: 支持大部分主流的編程語(yǔ)言,比如 Java、Node.js、C++、Golang 等,并且針對(duì)各類語(yǔ)言做了相應(yīng)的編譯加速方案,支持 Maven、Gradle、C++、Go mod 構(gòu)建緩存。

鏡像構(gòu)建: 支持 Docker out of Docker、Kaniko 等多種構(gòu)建方式,同時(shí)整合了網(wǎng)易輕舟 Harbor,集成了 Harbor 的鏡像掃描功能,支持在流水線運(yùn)行過(guò)程中執(zhí)行鏡像掃描、查看鏡像安全報(bào)告,同時(shí)支持安全項(xiàng)卡點(diǎn)以及郵件通知等功能。

集成測(cè)試:CI/CD 流水線與網(wǎng)易內(nèi)部自動(dòng)化測(cè)試平臺(tái) GoAPI 做了集成,用戶可以預(yù)先在平臺(tái)側(cè)配置好相應(yīng)的接口執(zhí)行集,然后在流水線中選擇對(duì)應(yīng)的執(zhí)行集執(zhí)行,并在流水線詳情頁(yè)中查看執(zhí)行集的通過(guò)率,同時(shí)支持卡點(diǎn)以及郵件通知。

流水線觸發(fā)器: 多種觸發(fā)器,比如定時(shí)觸發(fā)、PollSCM、Webhook 以及流水線串聯(lián)觸發(fā),其中 Webhook 還額外提供了對(duì) Gitlab、Harbor 的支持,支持從 Gtilab、Harbor 的 payload 中提取相關(guān)參數(shù),并在流水線階段中使用。

 

責(zé)任編輯:張燕妮 來(lái)源: 架構(gòu)頭條
相關(guān)推薦

2020-10-21 14:10:28

工具測(cè)試開(kāi)發(fā)

2023-09-15 14:37:55

2024-07-25 08:52:13

2016-10-21 15:58:51

容器容器技術(shù)Docker

2023-11-13 08:37:33

消息中間件分布式架構(gòu)

2016-11-15 14:18:09

神策分析大數(shù)據(jù)數(shù)據(jù)分析

2022-09-24 13:29:42

Spring操作SQL

2020-06-17 15:44:47

技術(shù)研發(fā)架構(gòu)

2013-10-28 13:48:10

技術(shù)選型

2016-12-22 13:32:04

服務(wù)化框架JSF解密

2023-11-03 09:05:53

2021-01-18 05:20:52

數(shù)倉(cāng)hive架構(gòu)

2019-06-25 13:47:50

人臉識(shí)別AI人工智能

2022-08-19 14:06:56

前端架構(gòu)技術(shù)

2022-12-21 08:32:34

OLAPDruid架構(gòu)

2017-06-22 11:03:58

大數(shù)據(jù)大數(shù)據(jù)平臺(tái)架構(gòu)技術(shù)

2012-02-13 16:00:35

內(nèi)網(wǎng)安全技術(shù)選型安全產(chǎn)品

2023-07-06 00:41:03

SQLNoSQL數(shù)據(jù)庫(kù)

2010-10-08 10:38:13

2024-06-06 08:05:39

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

中文字幕日韩一区二区| 青青草国产精品97视觉盛宴| 欧美大片在线观看| 日韩极品视频在线观看| 亚洲aaaaaaa| 亚洲一区二区三区免费在线观看 | 国产口爆吞精一区二区| 欧美日韩理论| 亚洲欧美日韩一区二区三区在线| 999精品网站| 超碰在线观看免费| wwww国产精品欧美| 91大片在线观看| 日本视频在线观看免费| 一区二区三区网站| 精品无码久久久久久国产| 久久99999| 操喷在线视频| 国产精品美女www爽爽爽| 日本成人在线免费视频| 蜜桃臀一区二区三区| 精品视频一区二区在线观看| 日韩欧美在线精品| 91麻豆精品国产自产在线观看一区 | 欧美亚洲综合视频| 精品国产精品自拍| 中文字幕一区二区三区最新| 日本成人一区二区三区| 国产精品亚洲一区二区三区妖精| 国产97在线观看| 国产精品30p| 91精品国产乱码久久久久久久 | 国产特黄级aaaaa片免| 国产精品一区二区三区四区在线观看| 第一福利永久视频精品| 久久视频免费在线| 成人亚洲性情网站www在线观看| 风间由美性色一区二区三区| 成人h猎奇视频网站| 自拍偷拍18p| 性娇小13――14欧美| 久久久久久久激情视频| 美女福利视频在线观看| 久久一区91| 国产亚洲欧洲高清| 日本一区二区三区网站| 加勒比久久高清| 欧美大黄免费观看| 精品国产乱码久久久久久1区二区| 亚洲第一二三四区| 色综合天天综合网国产成人综合天| 国产一区二区三区乱码| 性欧美高清come| 综合精品久久久| 亚洲欧洲日韩综合二区| 东热在线免费视频| 国产欧美一区二区精品性色 | 久久福利综合| 中文字幕精品网| 黄色av免费播放| 日韩电影免费网址| 中文字幕一区二区精品| 国产精品久久免费观看| 欧洲激情视频| 在线观看亚洲区| 国产jizz18女人高潮| 欧美电影《睫毛膏》| 中国人与牲禽动交精品| 亚洲熟女少妇一区二区| 99久久婷婷| 欧美日本中文字幕| 日韩无码精品一区二区三区| 日韩亚洲国产精品| 欧美亚洲第一区| jizz国产在线观看| 免费看精品久久片| 亚洲精品日韩激情在线电影| 亚洲av无码一区二区三区性色 | 精品视频1区2区3区| 亚洲视频第二页| 欧美成年网站| 日韩av一区二区在线| 国产真实乱人偷精品人妻| 欧美亚洲国产一区| 久久中文字幕一区| 日本在线视频免费观看| 日韩一区精品字幕| 国产精品综合网站| www久久久com| 91丨九色丨黑人外教| 亚洲三级一区| 丰满诱人av在线播放| 色视频欧美一区二区三区| 中文字幕第17页| 成人午夜网址| 一区二区欧美日韩视频| 全网免费在线播放视频入口| 在线综合亚洲| 成人乱人伦精品视频在线观看| 国模无码一区二区三区| 国产性做久久久久久| aaa免费在线观看| 天堂中文av在线资源库| 欧美午夜免费电影| 亚洲成a人无码| 欧美日韩国产高清电影| 久久久久久久999精品视频| 日本成人一级片| 国产91综合一区在线观看| 欧美中文娱乐网| 国产高清在线a视频大全| 91黄色免费观看| 欧洲熟妇的性久久久久久| 精品无人区麻豆乱码久久久| 久久久久久亚洲精品| 性高潮视频在线观看| 粉嫩嫩av羞羞动漫久久久| 先锋在线资源一区二区三区| 国产精品一二三产区| 在线观看91av| 在哪里可以看毛片| 亚洲午夜久久久久久尤物| 国产精品色婷婷视频| 亚洲三级黄色片| 一区二区在线电影| 亚洲精品手机在线观看| 国产毛片一区二区三区| 久久久伊人欧美| 精品免费久久久| 国产精品美女久久久久久2018| 欧美大片在线播放| 免费一区二区三区在线视频| 久久精品国产一区| 中文字幕人妻一区二区在线视频| 26uuu国产电影一区二区| 每日在线观看av| 亚洲精品a区| 久久在线观看视频| 在线观看国产精品视频| 欧美激情一区二区在线| 国内外免费激情视频| 丝袜美腿一区二区三区动态图| 久久久久久久久中文字幕| 国产高清精品软件丝瓜软件| 国产精品久久久久久久久久久免费看 | 欧美特黄一级| 51国产成人精品午夜福中文下载| 日本视频在线观看| 欧美日韩中文字幕一区二区| 亚洲天堂视频一区| 可以看av的网站久久看| 蜜桃传媒视频麻豆一区| 水蜜桃在线视频| 日韩激情av在线播放| 91蜜桃视频在线观看| 99热在这里有精品免费| 日韩精品 欧美| 男人的天堂久久| 97免费中文视频在线观看| 亚洲AV无码一区二区三区性| 亚洲国产欧美另类丝袜| 大桥未久恸哭の女教师| 亚洲精品欧洲| 久久久久久久久久码影片| 日韩三级影视| 中文字幕一区日韩电影| 91在线视频国产| 亚洲另类中文字| 日本美女视频网站| 99精品视频免费| 日本视频一区二区在线观看| 欧美成人家庭影院| 美女久久久久久久久久久| 亚洲AV无码一区二区三区少妇| 亚洲成人午夜影院| 30一40一50老女人毛片| 亚洲影视在线| 亚洲高清在线观看一区| 精品国产18久久久久久二百| 久久久久久97| 你懂的在线播放| 欧美人牲a欧美精品| 91麻豆免费视频网站| 丁香婷婷综合激情五月色| 国产精品999视频| av伊人久久| 91久久极品少妇xxxxⅹ软件| av日韩中文| 中文字幕av一区| 朝桐光av在线一区二区三区| 精品人伦一区二区三区蜜桃免费| 免费看的黄色网| 狠狠色丁香久久婷婷综合丁香| 欧美狂野激情性xxxx在线观| 妖精一区二区三区精品视频 | 国产成人在线中文字幕| 国产91在线播放精品91| 国产1区在线| 精品亚洲一区二区三区在线播放| 一二三四区在线| 亚洲成人免费av| 三级影片在线观看| www.99精品| 色婷婷一区二区三区在线观看| 校园激情久久| 日韩专区第三页| 精品日本12videosex| 成人3d动漫一区二区三区91| 婷婷激情一区| 久久人91精品久久久久久不卡| 成人午夜在线观看视频| 精品成人一区二区三区四区| 亚洲精品无码久久久久| 午夜激情一区二区| 全网免费在线播放视频入口| 欧美韩国一区二区| 无码人妻精品一区二区三区温州 | jzzjzzjzz亚洲成熟少妇| 精品国产sm最大网站免费看| 在线观看国产小视频| 狠狠躁夜夜躁人人爽天天天天97 | 色播五月激情综合网| 久久久久亚洲av无码专区 | 狠狠操一区二区三区| 美女av一区二区三区| 欧美精品日韩少妇| 亚洲性夜色噜噜噜7777| 亚洲 国产 欧美 日韩| 日韩欧美资源站| 一区二区三区日| 日本久久精品电影| 国产黄色片免费看| 亚洲国产精品麻豆| 欧美高清视频一区二区三区| 日韩理论片一区二区| 日本欧美一区二区三区不卡视频| 91视频免费播放| 国产精品扒开腿做爽爽爽a片唱戏 亚洲av成人精品一区二区三区 | 亚洲精品久久久久久动漫器材一区| 欧美日韩欧美一区二区| 亚洲精品无码久久久久| 欧美在线你懂得| 无码人妻熟妇av又粗又大| 高跟丝袜欧美一区| 亚洲午夜18毛片在线看| 岛国av一区二区| 青青视频在线免费观看| 欧美日韩一区免费| 天天操天天摸天天干| 精品久久久久国产| 亚洲欧美在线视频免费| 精品人伦一区二区三区蜜桃网站 | 欧美三级韩国三级日本一级| 亚洲精品男人的天堂| 一本大道综合伊人精品热热| 日韩欧美在线观看免费| 色婷婷久久综合| 日韩不卡高清视频| 欧美午夜精品电影| 一道本无吗一区| 日韩欧美在线网站| 亚洲精品无码久久久| 日韩第一页在线| 六十路在线观看| 日韩在线观看av| 中文在线手机av| 91国产中文字幕| 二区三区不卡| 国产精品自拍偷拍视频| 精品中文字幕一区二区三区四区 | 性感美女一级片| 亚洲欧美日韩直播| 在线视频二区| 欧美大片免费观看| 亚洲人成在线网站| 国产精品人人做人人爽| www999久久| 国产精品视频入口| 国产伦一区二区三区| 久久久一二三四| 影院欧美亚洲| 午夜免费一区二区| 国产麻豆视频精品| 欧美精品欧美极品欧美激情| 久久精品一二三| 日本 欧美 国产| 午夜久久久久久久久久一区二区| 成人av网站在线播放| 91精品国产aⅴ一区二区| 黄频网站在线观看| 曰本色欧美视频在线| 欧美理论电影| 国产精品成人va在线观看| 精品久久国产一区| 欧美日韩电影一区二区| 亚洲国产不卡| 亚洲中文字幕无码不卡电影| 精品一二线国产| www.中文字幕av| 亚洲一区二区不卡免费| 中日韩av在线| 日韩精品丝袜在线| 麻豆视频在线免费观看| 国产91精品久久久久久久| **国产精品| 欧美日韩在线播放一区二区| 亚洲老妇激情| 国产精品人人爽人人爽| 波多野结衣亚洲一区| 大地资源高清在线视频观看| 天天综合网 天天综合色| 国产精品主播一区二区| 亚洲欧美色婷婷| 丁香花在线电影| 国产在线播放91| 最近国产精品视频| 欧美一级片免费播放| 韩国三级电影一区二区| 手机免费看av| 精品久久久久久久大神国产| 亚洲精品无码久久久| 久久精品国产久精国产思思| 精品国模一区二区三区| 久99久在线| 国产精品激情| 91网址在线观看精品| 中文字幕一区二区三中文字幕| 日韩精品在线不卡| 日韩欧美激情一区| 日本在线观看视频| 国产精品18久久久久久麻辣| 日韩a级大片| 国产69精品久久久久999小说| 国产精品乡下勾搭老头1| 中文字幕在线观看2018| 欧美日韩国产乱码电影| lutube成人福利在线观看| 日韩av快播网址| 亚洲警察之高压线| 久色视频在线播放| 99久久精品免费看国产免费软件| 精品无码人妻一区二区三区品 | 国产成人鲁鲁免费视频a| 欧美黑人巨大videos精品| 99在线免费视频观看| 国产suv一区二区三区88区| 久久久精品视频免费观看| 91精品麻豆日日躁夜夜躁| 欧美成人三区| 国产在线观看精品一区二区三区| 成人3d精品动漫精品一二三| 国产成人精品视频免费看| 91在线视频观看| 狠狠人妻久久久久久| 亚洲免费伊人电影在线观看av| av电影一区| 欧美日韩综合网| 视频一区在线视频| 国产黄a三级三级| 5566中文字幕一区二区电影| 91高清在线观看视频| 国产成人女人毛片视频在线| 亚洲精品黄色| 中文字幕一二三四区| 欧美亚洲一区二区三区四区| 嫩草在线视频| 91久久极品少妇xxxxⅹ软件| 亚洲日本黄色| 国产高潮呻吟久久| 欧美三级日韩在线| 中国av在线播放| 国内一区二区三区在线视频| 另类av一区二区| 国内毛片毛片毛片毛片毛片| 日韩欧美你懂的| 亚洲天堂av影院| 伊人久久青草| 成人午夜私人影院| 精品久久久久久久久久久久久久久久| 国产午夜精品一区二区三区| 国产精品亚洲一区二区在线观看 | 久久 天天综合| 久久久久久天堂| 亚洲日韩欧美视频| 亚洲精品一区二区在线播放∴| 欧美精品卡一卡二| 亚洲国产成人一区二区三区| www.国产精品视频| 国产成人午夜视频网址| 欧美在线影院| 性少妇bbw张开| 日韩区在线观看| 午夜激情成人网| 狠狠精品干练久久久无码中文字幕| 9久草视频在线视频精品| 狠狠躁夜夜躁人人爽视频| 欧美日本啪啪无遮挡网站| 精品精品久久| 中国极品少妇videossexhd| 欧美乱妇20p|