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

初探 Backstage:快速上手指南

開發(fā) 開發(fā)工具
Backstage 更適合被定義為一個(gè)開發(fā)者門戶而不是一個(gè)全面的開發(fā)者平臺(tái)。它本質(zhì)上是一個(gè)靈活的框架,而非一個(gè)即開即用的全套解決方案。為了充分發(fā)揮其潛力,平臺(tái)團(tuán)隊(duì)需要深入了解開發(fā)人員的需求,并通過引入或開發(fā)專門的插件來定制 Backstage,從而實(shí)現(xiàn)真正的自服務(wù)能力。

Backstage 簡介

Backstage 是一個(gè)用于構(gòu)建開發(fā)人員門戶的開放平臺(tái),統(tǒng)一了所有基礎(chǔ)設(shè)施工具、服務(wù)和文檔,以創(chuàng)建端到端的簡化開發(fā)環(huán)境,由 Spotify 開源并捐贈(zèng)給 CNCF[2]。Backstage 提供了開箱即用的幾個(gè)核心功能:

軟件目錄

軟件目錄[3](Software Catalog)是一個(gè)集中式系統(tǒng),用于跟蹤生態(tài)系統(tǒng)中所有軟件(服務(wù)、網(wǎng)站、庫、數(shù)據(jù)管道等)的所有權(quán)和元數(shù)據(jù)。開發(fā)人員提供軟件的實(shí)體信息,Backstage 根據(jù)實(shí)體的信息與已有實(shí)體建立關(guān)聯(lián),并生成最終版本的軟件實(shí)體保存在目錄中。

從 Backstage 倉庫的軟件目錄示例中可以找到 多種類型的實(shí)體定義[4]。

軟件模板

軟件模板[5] (Software Template)是一個(gè)可以幫助開發(fā)在 Backstage 中創(chuàng)建組件的工具。默認(rèn)情況下,它能夠加載代碼骨架、帶有變量中的模板,然后將模板發(fā)布到某些位置,例如 GitHub 或 GitLab。

技術(shù)文檔

技術(shù)文檔[6](TechDocs) 是 Spotify 自行開發(fā)的直接內(nèi)置于 Backstage 中的類文檔代碼解決方案。開發(fā)人員在與代碼一起存在的 Markdown 文件中編寫文檔 - 只需很少的配置即可在 Backstage 中獲得一個(gè)漂亮的文檔站點(diǎn)。

插件支持

插件支持[7](Plugins)Backstage 本身是一個(gè)由一組插件組成的單頁面應(yīng)用程序,通過插件平臺(tái)開發(fā)人員可以將幾乎任何類型的基礎(chǔ)設(shè)施或軟件開發(fā)工具作為 Backstage 中的功能公開。

我覺得插件是 Backstage 的最大亮點(diǎn),通過 插件生態(tài)系統(tǒng)[8] 極大增強(qiáng)的可定制性,目前 Backstage 有 5 個(gè)核心插件以及近 200 個(gè)第三方插件。

圖片圖片

要運(yùn)行 Backstage 可以直接在本地運(yùn)行,也可以進(jìn)行容器化部署。

本地運(yùn)行

為了在本地運(yùn)行 Backstage,需要 NodeJS 18、yarn 1.22 和 npx 環(huán)境。以下是啟動(dòng) Backstage 的步驟:

創(chuàng)建 Backstage App

執(zhí)行下面的命令,并根據(jù)提示輸入應(yīng)用名創(chuàng)建 Backstage 應(yīng)用。也可以使用 我創(chuàng)建的[9]。

npx @backstage/create-app@latest

默認(rèn)情況下,本地運(yùn)行使用 better-sqlite3 來作為軟件目錄的存儲(chǔ)。啟動(dòng)之前需要執(zhí)行下面的命令:

npm rebuild better-sqlite3

啟動(dòng) Backstage

之后就可以執(zhí)行 yarn dev 啟動(dòng) Backstage,在瀏覽器中打開 http://localhost:3000 就能訪問 Backstage 了。

圖片圖片

當(dāng)然 Backstage 也支持?jǐn)?shù)據(jù)庫進(jìn)行持久化,比如 PostgreSQL。可以在 app-config.yaml 中,將數(shù)據(jù)庫配置為下面:

backend:
  database:
    # client: better-sqlite3
    # connection: ':memory:'  
    client: pg
    connection:
      host: ${POSTGRES_SERVICE_HOST}
      port: ${POSTGRES_SERVICE_PORT}
      user: ${POSTGRES_USER}
      password: ${POSTGRES_PASSWORD}

修改配置后,添加環(huán)境變量并重新執(zhí)行命令。

export POSTGRES_SERVICE_HOST=127.0.0.1 
export POSTGRES_SERVICE_PORT=5432 
export POSTGRES_USER= backstage 
export POSTGRES_PASSWORD=backstage
yarn dev

添加軟件實(shí)體

我在已有的一個(gè) Java 項(xiàng)目中,添加了 `catalog-info.yaml`[10] 并添加了軟件實(shí)體信息。

圖片圖片

在軟件目錄的頁面上依次點(diǎn)擊 CREATE 和 REGISTER EXISTING COMPONENT,在表單中填入上面的 catalog-info.yaml 的地址 https://github.com/addozhang/tekton-demo/blob/main/catalog-info.yaml,然后點(diǎn)擊 ANALYZE 和 IMPORT。

此時(shí)就可以看到導(dǎo)入的實(shí)體信息以及根據(jù)信息創(chuàng)建的組件關(guān)系。

圖片圖片

除了展示軟件的信息,我們希望對(duì)項(xiàng)目進(jìn)行構(gòu)建。我提前為其添加了一個(gè) GitHub 工作流[11],接下來看看如何在 Backstage 上進(jìn)行構(gòu)建。

配置 CI/CD

此時(shí)如果打開 CI/CD 卡片,可以彈窗要求對(duì) Backstage 進(jìn)行授權(quán)允許其訪問 GitHub 倉庫。由于配置認(rèn)證提供這,會(huì)看到如下錯(cuò)誤。

圖片圖片

在 GitHub 開發(fā)者設(shè)置[12] 中填入信息創(chuàng)建一個(gè)應(yīng)用:

  • 應(yīng)用程序名稱:Backstage(或者其他名字)
  • 主頁網(wǎng)址:http://localhost:3000
  • 授權(quán)回調(diào) URL:http://localhost:7007/api/auth/github/handler/frame

創(chuàng)建成功后,可以獲取 CLIENT_ID 和 CLIENT_SECRET。

修改 Backstage 的配置文件 app-config.yaml,添加配置:

auth:
  environment: development
  providers:
    github:
      development:
        clientId: ${AUTH_GITHUB_CLIENT_ID}
        clientSecret: ${AUTH_GITHUB_CLIENT_SECRET}

其中

export POSTGRES_SERVICE_HOST=127.0.0.1 
export POSTGRES_SERVICE_PORT=5432 
export POSTGRES_USER= backstage 
export POSTGRES_PASSWORD=backstage
export AUTH_GITHUB_CLIENT_ID=e1c1fc80ec2014c91543
export AUTH_GITHUB_CLIENT_SECRET=0641e5e5af60c485a03f19f8bf63218d06ab7876
yarn dev

圖片圖片

Kubernetes 上運(yùn)行

首先要有個(gè) K8s 集群。在 Kubernetes 上我們這次使用 PostgreSQL 作為持久化存儲(chǔ)。

kubectl create namespace backstage

部署 PostgreSQL

創(chuàng)建 Secret 用于配置 PostgreSQL 的認(rèn)證信息。

kubectl apply -n backstage -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: postgres-secrets
type: Opaque
data:
  POSTGRES_USER: YmFja3N0YWdl
  POSTGRES_PASSWORD: YmFja3N0YWdl
EOF

使用本地磁盤創(chuàng)建 PVC 和 PVC。

kubectl apply -n backstage -f - <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
  name: postgres-storage
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 2G
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: '/mnt/data'
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: postgres-storage-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2G
EOF

部署 PostgreSQL。

kubectl apply -n backstage -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: backstage
spec:
  replicas: 1
  selector:
    matchLabels:
      app: backstage
  template:
    metadata:
      labels:
        app: backstage
    spec:
      containers:
        - name: backstage
          image: addozhang/backstage
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 7007
          envFrom:
            - secretRef:
                name: postgres-secrets
            - secretRef:
                name: github-oauth-secrets          
---
apiVersion: v1
kind: Service
metadata:
  name: backstage
spec:
  selector:
    app: backstage
  ports:
    - name: http
      port: 80
      targetPort: http
EOF

配置 GitHub OAuth 認(rèn)證信息

kubectl apply -n backstage -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
  name: github-oauth-secrets
type: Opaque
data:
  AUTH_GITHUB_CLIENT_ID: <CLIENT_ID base64>
  AUTH_GITHUB_CLIENT_SECRET: <CLIENT_SECRET base64>
EOF

部署 Backstage

kubectl apply -n backstage -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: backstage
spec:
  replicas: 1
  selector:
    matchLabels:
      app: backstage
  template:
    metadata:
      labels:
        app: backstage
    spec:
      volumes:
        - name: config-volume
          configMap:
            name: bs-app-config
            items:
              - key: "app-config.production.yaml"
                path: "app-config.production.yaml"
      containers:
        - name: backstage
          image: addozhang/backstage:latest
          imagePullPolicy: Always
          ports:
            - name: http
              containerPort: 7007
          envFrom:
            - secretRef:
                name: github-oauth-secrets
            - secretRef:
                name: postgres-secrets
---
apiVersion: v1
kind: Service
metadata:
  name: backstage
spec:
  selector:
    app: backstage
  ports:
    - name: http
      port: 80
      targetPort: http
EOF

訪問 Backstage 頁面 http://localhost:7077。

kubectl port-forward --namespace=backstage svc/backstage 7007:80

總結(jié)

通過這篇文章,我們了解了 Backstage 的基本概念和如何在不同環(huán)境中運(yùn)行它。

我認(rèn)為,Backstage 更適合被定義為一個(gè)開發(fā)者門戶而不是一個(gè)全面的開發(fā)者平臺(tái)。它本質(zhì)上是一個(gè)靈活的框架,而非一個(gè)即開即用的全套解決方案。為了充分發(fā)揮其潛力,平臺(tái)團(tuán)隊(duì)需要深入了解開發(fā)人員的需求,并通過引入或開發(fā)專門的插件來定制 Backstage,從而實(shí)現(xiàn)真正的自服務(wù)能力。

此外,Backstage 并不意味著要取代 DevOps。事實(shí)上,DevOps 更多是一種文化和實(shí)踐理念,而非具體的工具。Backstage 的框架加插件的組合方式,實(shí)際上是為了解決 DevOps 實(shí)踐中遇到的具體挑戰(zhàn),尤其是在其落地實(shí)施的最后階段。

總之,Backstage 為開發(fā)者提供了一個(gè)強(qiáng)大而靈活的工具集,通過集成多樣的功能和服務(wù),幫助團(tuán)隊(duì)更好地實(shí)現(xiàn) DevOps 理念,提升開發(fā)效率和項(xiàng)目管理的效能。

參考資料

[1] Backstage: https://backstage.io

[2] Spotify 開源并捐贈(zèng)給 CNCF: https://backstage.io/blog/2022/03/16/backstage-turns-two/#out-of-the-sandbox-and-into-incubation

[3] 軟件目錄: https://backstage.io/docs/features/software-catalog/

[4] 多種類型的實(shí)體定義: https://github.com/backstage/backstage/tree/master/packages/catalog-model/examples

[5] 軟件模板: https://backstage.io/docs/features/software-templates/

[6] 技術(shù)文檔: https://backstage.io/docs/features/techdocs/

[7] 插件支持: https://backstage.io/docs/plugins/

[8] 插件生態(tài)系統(tǒng): https://backstage.io/plugins/

[9] 我創(chuàng)建的: https://github.com/addozhang/backstage-quickstart

[10] catalog-info.yaml: https://github.com/addozhang/tekton-demo/blob/main/catalog-info.yaml

[11] GitHub 工作流: https://github.com/addozhang/tekton-demo/blob/main/.github/workflows/build.yml

[12] GitHub 開發(fā)者設(shè)置: https://github.com/settings/developers

責(zé)任編輯:武曉燕 來源: 云原生指北
相關(guān)推薦

2021-11-26 09:40:37

EclipseIDEA開發(fā)

2021-01-26 08:37:18

MobXVueReact

2014-06-24 09:41:56

Android Stu教程

2025-05-28 15:46:13

2013-12-04 14:44:41

Android SDK用戶交互

2013-12-26 15:40:33

Android SDK項(xiàng)目

2013-12-04 13:27:56

Android SDK項(xiàng)目

2014-01-22 10:00:10

Android SDKAndroid開發(fā)

2016-06-20 10:20:22

Docker云計(jì)算

2010-07-01 12:35:46

UML用例圖

2012-08-01 17:39:17

2025-01-07 08:28:22

2011-08-23 11:25:40

LUA函數(shù)TOC

2014-06-06 14:25:03

iOS 8SwiftWWDC2014

2013-12-26 15:14:38

Android SDK運(yùn)行調(diào)試

2013-12-26 15:47:59

Android SDK應(yīng)用程序

2013-12-04 14:29:18

Android SDK應(yīng)用程序

2013-11-27 10:12:11

2013-12-26 14:52:52

Android SDK物理設(shè)備

2021-01-19 06:16:05

前端Babel 技術(shù)熱點(diǎn)
點(diǎn)贊
收藏

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

欧美日韩国产综合视频| jizzjizz国产精品喷水| 国产一级免费视频| 欧美成人milf| 91精品国产品国语在线不卡| 男人插女人视频在线观看| 色丁香婷婷综合久久| 玖玖视频精品| 欧美激情精品久久久久久久变态| 国产ts丝袜人妖系列视频| xx欧美xxx| 国产精品嫩草99a| 国产麻豆乱码精品一区二区三区 | 国产精品灌醉下药二区| 国产69精品久久久久9999apgf | 亚洲性猛交xxxx乱大交| 日韩精品一区二区三区中文字幕| 欧美日韩亚洲天堂| 美女在线免费视频| 六十路在线观看| 国产成人精品免费在线| 国产精品亚洲第一区| 日韩成人av毛片| 精品一区不卡| 亚洲国产欧美一区二区三区同亚洲| 欧美婷婷精品激情| 色黄视频在线观看| 一区在线中文字幕| 欧美一区二区福利| 色偷偷在线观看| 久久成人免费电影| 国产黑人绿帽在线第一区| 久久精品免费av| 国产精品一国产精品| 亚洲国产高清福利视频| 1314成人网| 中文幕av一区二区三区佐山爱| 精品久久久精品| 中国人体摄影一区二区三区| 国产免费永久在线观看| 99re这里都是精品| 92国产精品视频| 一二三四区在线| 亚洲一区区二区| 欧美精品18videos性欧美| 色撸撸在线视频| 国产成人手机高清在线观看网站| 亚洲国产毛片完整版| 韩国黄色一级片| 国产精品毛片无码| 欧美在线小视频| 国产熟人av一二三区| 丁香六月综合| 日韩欧美在线视频免费观看| 欧美深夜福利视频| 国产调教在线| 精品magnet| 久久国产亚洲精品无码| 国产传媒在线观看| 亚洲亚洲人成综合网络| 天天做天天躁天天躁| 五月天激情在线| 一片黄亚洲嫩模| 亚洲色成人www永久在线观看 | 91亚洲欧美激情| 麻豆视频观看网址久久| 国产成人黄色av| 国产情侣呻吟对白高潮| 蜜桃av噜噜一区| 成人欧美一区二区三区黑人孕妇| 中文字幕在线播| 奇米影视在线99精品| 国产精品综合久久久| 国产精品久久久午夜夜伦鲁鲁| 国精产品一区一区三区mba视频| 成人福利视频网| www.天堂av.com| www.亚洲在线| 精品免费视频123区| 奇米影视888狠狠狠777不卡| 欧美国产一区二区| 中文字幕一区二区三区5566| av软件在线观看| 午夜精品久久久久久久久久久| 俄罗斯av网站| 亚洲成人一区在线观看| 欧美绝品在线观看成人午夜影视| 黄色a级三级三级三级| 波多野结衣在线一区二区| 日韩美女av在线| 女性裸体视频网站| 亚洲国产精品第一区二区| 97在线免费观看视频| 日日噜噜噜噜人人爽亚洲精品| 日本在线不卡一区| 国产91免费视频| 国产一二三区在线| 亚洲综合区在线| 成人三级视频在线播放| 韩国一区二区三区视频| 日韩精品视频在线| 欧美一区二区三区观看| 影音先锋久久资源网| 国产精品普通话| 好吊色在线观看| 亚洲国产精品传媒在线观看| 糖心vlog在线免费观看| 激情图片在线观看高清国产| 欧美亚洲综合在线| 国产伦精品一区二区免费| 日韩一区二区在线免费| 欧美野外猛男的大粗鳮| 一级黄色大片网站| www.66久久| 日本视频一区二区不卡| av文字幕在线观看| 在线视频你懂得一区| 稀缺小u女呦精品呦| 99久久久久国产精品| 55夜色66夜色国产精品视频| 在线中文字幕网站| 久久久亚洲精品一区二区三区| 国产女教师bbwbbwbbw| 国产香蕉久久| 亚洲欧美中文日韩在线| 国产主播在线播放| 国产在线日韩欧美| 欧美激情视频一区二区三区| 变态调教一区二区三区| 欧美三级在线播放| 娇妻高潮浓精白浆xxⅹ| 亚洲最大av| 日本一区二区在线播放| 亚洲国产中文字幕在线| 国产精品不卡在线| 中文字幕 91| 国产99精品一区| 97国产成人精品视频| 国产一区二区三区四区视频| 国产人成亚洲第一网站在线播放| 欧美成人高潮一二区在线看| 91麻豆精品激情在线观看最新 | 欧美大喷水吹潮合集在线观看| 亚洲综合小说| 亚洲在线免费看| 国产黄色在线观看| 欧美三日本三级三级在线播放| 亚洲码无人客一区二区三区| 翔田千里一区二区| 久久久水蜜桃| 国产91足控脚交在线观看| 日韩欧美123| 日本 欧美 国产| 精品一区二区在线播放| 中文字幕精品—区二区日日骚| 欧美特黄aaaaaaaa大片| 欧美精品一区二区久久婷婷| 国产在线视频卡一卡二| 国产精品亚洲а∨天堂免在线| 日本免费黄色小视频| 91精品一区| 美日韩精品免费观看视频| 精品免费久久久| 亚洲综合久久久久| 欧美一级片黄色| 日韩亚洲精品在线| 麻豆久久久9性大片| 电影网一区二区| 最新日韩中文字幕| 国产乱人乱偷精品视频| 亚洲一区二三区| 日韩精品卡通动漫网站| 久久精品网址| 一区二区精品在线| 999国产精品一区| 欧美精品激情在线观看| 日本福利在线观看| 欧美无人高清视频在线观看| 四虎永久免费在线| av一区二区三区在线| 国产 日韩 亚洲 欧美| 国产一区二区三区91| 国产精品专区一| free性欧美| 在线观看亚洲区| 国产视频一区二区三| 午夜精品久久久久久久蜜桃app| www.av天天| 国产精品影音先锋| 动漫av网站免费观看| 欧美综合另类| 99在线观看视频| 欧美无毛视频| 久久91超碰青草是什么| 亚洲成a人片在线| 精品久久久久久中文字幕一区奶水 | 福利视频久久| 亚洲高清黄色| 欧美激情欧美激情在线五月| 香蕉视频免费在线看| 5566中文字幕一区二区电影| 国产三级av片| eeuss影院一区二区三区| 黄色手机在线视频| 野花国产精品入口| 欧洲金发美女大战黑人| 国产亚洲一卡2卡3卡4卡新区| 97人摸人人澡人人人超一碰| 国产一区二区主播在线| 国模视频一区二区三区| 日本免费视频在线观看| 精品亚洲va在线va天堂资源站| 国产精品一区二区av白丝下载 | 久久久精品影院| 日韩精品123| 欧美午夜片在线看| 少妇一级淫片免费放中国| 一区二区三区四区av| 懂色av粉嫩av浪潮av| 91麻豆国产香蕉久久精品| 深夜视频在线观看| 国产在线看一区| www.亚洲高清| 日韩精品免费视频人成| 日日摸日日碰夜夜爽无码| 欧美国产高清| 日本女人高潮视频| 四虎国产精品免费观看| 欧洲亚洲一区二区| 欧洲在线一区| 波多野结衣久草一区| 国产美女视频一区二区| 国内成人精品视频| 日本h片在线观看| 久久成人精品电影| 福利片在线观看| 亚洲人成电影网站色xx| 亚洲欧洲成人在线| 日韩成人在线电影网| 99在线观看免费| 欧美三级电影一区| 最好看的日本字幕mv视频大全| 色拍拍在线精品视频8848| 久久久久99精品成人片三人毛片| 国产精品久久久久9999吃药| 阿v天堂2014| 中文字幕不卡一区| 精品女人久久久| 国产视频一区二区在线| 欧美特黄一区二区三区| 久久久久国产一区二区三区四区 | 日本一区二区三区在线不卡| 真实乱视频国产免费观看| 久久久久国产精品厨房| 一级黄色录像毛片| 国产无人区一区二区三区| 少妇av片在线观看| 中文字幕在线观看不卡| 精品国产视频一区二区三区| 亚洲精品乱码久久久久久黑人| 久草视频在线免费看| 亚洲最大色网站| 日韩激情在线播放| 色综合一个色综合| 亚洲伊人成人网| 欧美午夜激情视频| 青青青国产在线| 日本韩国精品一区二区在线观看| 中文字幕 人妻熟女| 欧美猛男gaygay网站| 91精品国产乱码久久久久| 欧美一级搡bbbb搡bbbb| 国产人妻精品一区二区三| 欧美一级爆毛片| 日韩中文字幕影院| 亚洲精品小视频在线观看| 高清毛片在线看| 欧美疯狂性受xxxxx另类| 绿色成人影院| 日韩av电影院| 福利一区三区| 黄色国产精品一区二区三区| 欧美日本成人| 强开小嫩苞一区二区三区网站| 亚洲日本欧美| 天天干天天操天天做| 激情综合一区二区三区| 亚洲图片综合网| 国产欧美一区二区三区在线看蜜臀| 成人免费毛片xxx| 欧美日韩国产页| 中文区中文字幕免费看| 在线不卡的av| 婷婷视频在线观看| 亚洲男人天堂久| 二区三区四区高清视频在线观看| 欧美老女人性生活| 欧美人与性动交xxⅹxx| 91入口在线观看| 五月激激激综合网色播| 青青草国产精品| 国产一区日韩一区| 久久综合久久色| 国产一区免费电影| 97在线观看免费视频| 亚洲高清免费观看| 一区二区三区精彩视频| 亚洲免费电影一区| 欧洲黄色一区| 日韩av电影院| 极品一区美女高清| 亚洲一区三区| 久久久xxx| 黄色激情在线观看| 中文字幕av免费专区久久| 黄色片视频网站| 日韩免费观看高清完整版| 欧美视频一二区| 日韩在线观看av| 成人在线中文| 国产精品青青草| 欧美.日韩.国产.一区.二区| 日韩在线第三页| 91亚洲国产成人精品一区二区三| 99久久99久久精品国产| 欧美综合一区二区三区| 性插视频在线观看| 久久免费视频观看| 欧美日韩中出| 三上悠亚免费在线观看| 久久精品国产第一区二区三区| 欧美丰满美乳xxⅹ高潮www| 精品女同一区二区三区在线播放| 亚洲黄色片视频| 色综合久久天天综线观看| 成人不卡视频| 国产一级特黄a大片99| 久久久久久久久久久妇女| 国产亚洲天堂网| 久久精品国产精品亚洲精品| 亚洲欧美日韩第一页| 欧美日韩一区小说| av在线免费观看网| 国产精品久久久久久亚洲调教| 奇米色欧美一区二区三区| 日本少妇高潮喷水视频| 99久久er热在这里只有精品66| 日韩av片在线播放| 日韩国产一区三区| 亚洲国产成人二区| 国产精品sss| 亚洲无线一线二线三线区别av| 五月激情五月婷婷| 亚洲精品中文字幕乱码三区| 99国产精品久久久久99打野战| 久久av在线看| 日韩欧美一级| 岛国大片在线播放| 国产成人啪免费观看软件| 国产一级大片在线观看| 亚洲高清av在线| 亚洲欧美电影| 亚洲精品成人久久久998| 韩国视频一区二区| 国产第一页第二页| 日韩av在线免费看| 97成人超碰| 久久最新免费视频| aa级大片欧美| 亚洲中文无码av在线| 麻豆国产精品va在线观看不卡| 成人自拍在线| 分分操这里只有精品| 欧美极品xxx| 国产视频在线观看免费 | 国产极品人妖在线观看| 成人免费视频网站入口| 亚洲久色影视| 99久久久久久久久久| 欧美日韩精品福利| 波多野结依一区| 日韩精品大片| 国产成人欧美日韩在线电影| 中文字幕黄色片| 欧美另类极品videosbest最新版本 | 国产精品高清在线观看| 婷婷成人基地| 丝袜熟女一区二区三区| 欧美日韩日本国产| 美女黄视频在线观看| 国产不卡一区二区三区在线观看 | 天天干天天玩天天操| 曰韩精品一区二区| 你懂的免费在线观看| 亚洲综合成人婷婷小说| 奶水喷射视频一区| 黄色一级片中国| 亚洲人成网站色ww在线| 日韩精品三级| 美女福利视频在线|