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

10 個你該了解的 GitHub Actions 進階技巧

系統
在執行 workflow 時, 允許在 GitHub Actions 頁面輸入參數,控制執行邏輯。我們可以將人工處理的邏輯,在 GitHub Actions 參數化執行,適用于持續部署場景。

[[379607]]

 本文轉載自微信公眾號「問其」,作者陳少文。轉載本文請聯系問其公眾號。

1. workflow 執行時,傳入參數

在執行 workflow 時, 允許在 GitHub Actions 頁面輸入參數,控制執行邏輯。我們可以將人工處理的邏輯,在 GitHub Actions 參數化執行,適用于持續部署場景。

  1. on:  
  2.   workflow_dispatch: 
  3.     inputs: 
  4.       logLevel: 
  5.         description: 'Log level'      
  6.         required: true 
  7.         default'warning' 
  8.       tags: 
  9.         description: 'Test scenario tags'   
  10. jobs: 
  11.   printInputs: 
  12.     runs-on: ubuntu-latest 
  13.     steps: 
  14.     - run: | 
  15.         echo "Log level: ${{ github.event.inputs.logLevel }}" 
  16.         echo "Tags: ${{ github.event.inputs.tags }}"  

上面的 workflow 執行時,會彈出如下對話框。

2. Job 編排控制執行順序

一個 workflow 由很多個 job 組成,借助于 needs 參數,我們可以管理這些 job 之間的依賴,控制其執行流程。

  1. on: push 
  2. jobs: 
  3.   job1: 
  4.     runs-on: ubuntu-latest 
  5.     steps: 
  6.       - run: echo "job1" 
  7.   job2: 
  8.     runs-on: ubuntu-latest 
  9.     steps: 
  10.       - run: sleep 5 
  11.     needs: job1 
  12.   job3: 
  13.     runs-on: ubuntu-latest 
  14.     steps: 
  15.       - run: sleep 10 
  16.     needs: job1 
  17.   job4: 
  18.     runs-on: ubuntu-latest 
  19.     steps: 
  20.       - run: echo "job4" 
  21.     needs: [job2, job3] 

上面的 workflows 執行時,job2 和 job3 會等 job1 執行成功時才執行,job4 會等 job2 和 job3 執行成功時才執行。

3. 用于項目管理

Kubernetes 基于 ChatOps 使用 Prow 協調社區有序協作。但并不是每個團隊,都愿意搭建并維護一套 Prow 機器人系統。ChatOps 實現的核心是事件驅動,這在 GitHub 中使用 Actions 也能實現。

下面是幾個項目管理相關的 action

  • 根據修改的目錄添加標簽
  1. - uses: actions/labeler@main 
  2.   with
  3.     repo-token: "${{ secrets.GITHUB_TOKEN }}" 

在配置文件 .github/workflows/labeler.yml 中添加規則,給對 docs 目錄進行修改的 Pull Requests(以下簡稱 PR) 自動添加 docs_label 標簽:

  1. docs_label: 
  2.   - ./docs/* 
  • 根據標簽添加 Issues 到 Projects

使用 srggrs/assign-one-project-github-action , 我們可以將新增的 Issues 或者 PR 添加到指定的 Projects 中。

  1. name: Assign NEW issues and NEW pull requests to project 2 
  2.   uses: srggrs/assign-one-project-github-action@1.2.0 
  3.   if: github.event.action == 'opened' 
  4.   with
  5.     project: 'https://github.com/srggrs/assign-one-project-github-action/projects/2' 

也可以將包含指定標簽的 Issues 或 PR 添加到指定 Project 的指定 Column 中。

  1. name: Assign issues and pull requests with `bug` label to project 3 
  2.   uses: srggrs/assign-one-project-github-action@1.2.0 
  3.   if: | 
  4.     contains(github.event.issue.labels.*.name'bug') || 
  5.     contains(github.event.pull_request.labels.*.name'bug'
  6.   with
  7.     project: 'https://github.com/srggrs/assign-one-project-github-action/projects/3' 
  8.     column_name: 'Labeled' 
  • 清理長時間無人跟進的 Issues

如果一個 Issue 長達 30 天沒有更新,那么下面的 workflow 將會再等 5 天,然后將其關閉。

  1. name'Close stale issues and PRs' 
  2. on
  3.   schedule: 
  4.     - cron: '30 1 * * *' 
  5. jobs: 
  6.   stale: 
  7.     runs-on: ubuntu-latest 
  8.     steps: 
  9.       - uses: actions/stale@v3 
  10.         with
  11.           stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' 
  12.           days-before-stale: 30 
  13.           days-before-close: 5 

GitHub 上的項目管理,主要是圍繞 Issues、Projects、Labels、Pull Requests 展開,可以在 GitHub Actions 的 Marketplace 中搜索相關的 Action 使用。

4. 在線調試

在使用 GitHub Actions 的過程中,如果需要登錄到 Runner 上調試命令,那么下面這個技巧你一定會感興趣。

  1. - uses: shaowenchen/debugger-action@v2 
  2.   name: debugger 
  3.   timeout-minutes: 30 
  4.   continue-on-error: true 
  5.   with
  6.     ngrok_token: ${{ secrets.NGROK_TOKEN }} 

只需要去 Ngrok 官網申請一個 token,就可以通過 ssh 遠程登錄到 Runner。當然,也可以暴露 Runner 上的服務,提供外網訪問的鏈接,最長可達 6 小時。

在執行日志中,我們可以找到 ssh 的登錄鏈接,使用 root/root 即可登錄 Runner。如果配置了 web 的端口映射,還可以查看到相關的服務鏈接。

5. 設置緩存

緩存能有效地加快構建速度,減少網絡請求,復用中間碼。這對于 Java、Nodejs、Python 等項目,非常有用。

  1. name: Get yarn cache directory path 
  2.   id: yarn-cache-dir-path 
  3.   run: echo "::set-output name=dir::$(yarn cache dir)" 
  4. - uses: actions/cache@v2 
  5.   id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) 
  6.   with
  7.     path: ${{ steps.yarn-cache-dir-path.outputs.dir }} 
  8.     key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} 
  9.     restore-keys: | 
  10.       ${{ runner.os }}-yarn- 

6. 檢測項目中的問題鏈接

項目維護時間長了之后,最令人頭疼的就是文檔。研發、測試跟進的是代碼、功能,而文檔卻時常無人更新。缺少維護的文檔,會讓潛在參與者流失。下面這個 Action 能檢測文檔中的 Broken 鏈接。

  1. nameCheck Markdown links 
  2. on: push 
  3. jobs: 
  4.   markdown-link-check
  5.     runs-on: ubuntu-latest 
  6.     steps: 
  7.     - uses: actions/checkout@master 
  8.     - uses: gaurav-nelson/github-action-markdown-link-check@v1 
  9.       with
  10.         use-quiet-mode: 'yes' 
  11.         config-file: '.github/workflows/checklink_config.json' 
  12.         max-depth: 3 

gaurav-nelson/github-action-markdown-link-check 支持自定義配置,非常靈活易用,堪稱必備 Action。

下面是一個 .github/workflows/checklink_config.json 的示例:

  1.   "replacementPatterns": [ 
  2.     { 
  3.       "pattern""^/"
  4.       "replacement""/github/workspace/" 
  5.     } 
  6.   ], 
  7.   "aliveStatusCodes": [ 
  8.     429, 
  9.     200 
  10.   ] 

最后在 GitHub Actions 日志頁面,會輸出這樣的檢測結果:

  1. =========================> MARKDOWN LINK CHECK <========================= 
  2. FILE: ./docs/governance.md 
  3. 4 links checked. 
  4. FILE: ./docs/configuration/cri.md 
  5. [✖] https://build.opensuse.org/project/show/devel:kubic:libcontainers:stable 
  6. 7 links checked. 
  7. ERROR: 1 dead links found! 
  8. [✖] https://build.opensuse.org/project/show/devel:kubic:libcontainers:stable → Status: 404 
  9. FILE: ./docs/configuration/kubeedge.md 
  10. 21 links checked. 
  11. ========================================================================= 

7. Job 批量執行,參數排列組合執行任務

數據驅動測試的場景下,可以通過輸入的參數控制測試的流程。在 GitHub Actions 中,我們也可以通過參數化的方式,批量地執行或編排流程。

GitHub Actions 會將 matrix 中的每個參數排列組合,產生一個新的運行實例。

  1. on: push 
  2. jobs: 
  3.   node: 
  4.     runs-on: ${{ matrix.os }} 
  5.     strategy: 
  6.       matrix: 
  7.         os: [ubuntu-16.04, ubuntu-18.04] 
  8.         node: [6, 8, 10] 
  9.     steps: 
  10.       - uses: actions/setup-node@v1 
  11.         with
  12.           node-version: ${{ matrix.node }} 
  13.       - run: node --version 

上面的 workflow 執行時, 會執行 6 個 job。

無論是用來測試兼容性, 還是批量執行 Job, 都是非常好的。

8. 拷貝 Action 的 Badge 狀態顯示在文檔中

通常,我們使用 GitHub Actions 對項目進行代碼分析、執行測試、編譯、打包、構建、推送鏡像等。這些行為對于保證項目的穩定,至關重要。

但并不是每個人都會關注 Actions 的執行細節。我們可以在顯眼的地方,給出這些過程的最終實時狀態,以提醒用戶和開發者。如果 main 分支構建失敗了,能提醒用戶謹慎使用,能提醒研發盡快修復問題。

在 GitHub Actions 頁面中, 點擊 Create status badge。

將彈框中的 URL 鏈接,增加在 Readme 文檔中,即可實時快速地查看到 workflow 的執行結果。

9. 精準 hook GitHub 上的行為

workflow 通過 on 關鍵字定義觸發條件。主要有三類觸發事件:

  • 人工觸發
  1. on: workflow_dispatch 
  • 定時觸發

每隔 15 分鐘觸發一次 workflows。

  1. on
  2.   schedule: 
  3.     - cron:  '*/15 * * * *' 
  • Webhook 觸發

我們在 GitHub 上的操作,比如創建 Issues、新增 Deployment 等,都能夠通過 API 獲取到相關的事件。通過這些事件,我們可以精準地定制 workflow 的行為。通常我們都是基于 push 或者 pull requests 觸發,下面列舉幾個不常見的示例:

當有人 fork 倉庫時觸發

  1. on
  2.   fork 

當有人 star 倉庫時觸發

  1. on
  2.   watch: 
  3.     types: [started] 

當有新建的 Issue 時觸發

  1. on
  2.   issues: 
  3.     types: [opened] 

10. 開發一個 Action 很簡單

如果在 Marketplace 找不到合適的 Action,那么自己開發 Action 也是一個不錯的選擇。

其實,開發一個 Action 沒有想象中那么難。一個 Action 就是一個處理邏輯,接收輸入參數,執行一定的邏輯,然后輸出參數。有三種類型的 Action:

  • Docker container, 適用 Linux 系統

通過 Docker 容器,提供 Action 的執行邏輯處理。比如下面這個例子:

Dockerfile

  1. FROM appleboy/drone-scp:1.6.2-linux-amd64 
  2. ADD entrypoint.sh /entrypoint.sh 
  3. RUN chmod +x /entrypoint.sh 
  4. ENTRYPOINT ["/entrypoint.sh"

entrypoint.sh

  1. #!/bin/sh 
  2. set -eu 
  3. [ -n "$INPUT_STRIP_COMPONENTS" ] && export INPUT_STRIP_COMPONENTS=$((INPUT_STRIP_COMPONENTS + 0)) 
  4. sh -c "/bin/drone-scp $*" 

通過 dron-scp 鏡像,快速開發了一個提供 scp 文件拷貝的 Action。

  • JavaScript, 適用 Linux、macOS、Windows 系統

通過執行 JavaScript 處理 Action 邏輯。官方提供了 JavaScript 和 TypeScript 的 Action 模板。在創建項目時,使用模板創建,然后編寫處理邏輯,發布自己的 Action 即可。

GitHub Actions 提供了工具包,以支持這種方式的擴展,例如執行命令、操作 GitHub 等,都可以通過引用包,直接調用相關函數實現。下面是其中幾個工具包:

  1. @actions/exec, 執行命令 
  2. @actions/core, 輸入、輸出、日志、秘鑰相關 
  3. @actions/io, 操作文件 
  • Composite run steps, 適用 Linux, macOS, Windows 系統

這種類型,允許將一連串的 Shell 操作作為一個 Action 使用。

  1. name'Hello World' 
  2. description: 'Greet someone' 
  3. inputs: 
  4.   who-to-greet:  # id of input 
  5.     description: 'Who to greet' 
  6.     required: true 
  7.     default'World' 
  8. outputs: 
  9.   random-number: 
  10.     description: "Random number" 
  11.     value: ${{ steps.random-number-generator.outputs.random-id }} 
  12. runs: 
  13.   using: "composite" 
  14.   steps: 
  15.     - run: echo Hello ${{ inputs.who-to-greet }}. 
  16.       shell: bash 
  17.     - id: random-number-generator 
  18.       run: echo "::set-output name=random-id::$(echo $RANDOM)" 
  19.       shell: bash 
  20.     - run: ${{ github.action_path }}/goodbye.sh 
  21.       shell: bash 

11. 參考

?https://github.com/actions/typescript-action

?https://github.com/shaowenchen/debugger-action

 

責任編輯:武曉燕 來源: 問其
相關推薦

2021-01-18 18:30:49

服務器開發工具

2021-01-19 05:26:22

Github ActiJenkinsDevOps

2020-06-04 15:55:54

GitHub代碼開發者

2021-01-05 05:15:02

Github 前端倉庫

2022-05-27 08:55:15

工具自動化軟件

2017-01-16 15:12:36

Linuxwatch命令命令

2014-03-04 09:35:45

JavaScript調試

2015-10-20 10:10:51

隱藏功能Windows 10微軟

2020-10-29 10:26:28

DevOps軟件自動化

2020-05-26 08:38:57

JavaScript語言

2022-12-21 08:20:01

2023-09-05 08:00:00

開源GreptimeDB

2020-11-29 17:32:01

EmacsLinux

2017-01-09 16:40:07

React NatiAndroid 開發

2015-03-19 11:15:16

云備份云存儲

2017-05-18 09:16:54

前端CSS技巧

2020-04-08 17:10:03

GitHub代碼開源

2021-01-04 08:37:53

動態規劃DP

2009-04-14 21:38:05

LinuxUbuntu技巧

2011-04-28 16:55:07

電子商務網站設計網站
點贊
收藏

51CTO技術棧公眾號

亚洲国产专区校园欧美| 91国产免费视频| 在线日韩一区| 日本道精品一区二区三区| 国产视频精品网| 国产美女www| 综合综合综合综合综合网| 欧美在线不卡视频| 在线免费观看不卡av| 精品久久久久久久久久久院品网 | 精品人妻伦一区二区三区久久| 欧美~级网站不卡| 亚洲男人天天操| 日本中文字幕在线不卡| 校园春色亚洲| 亚洲欧美视频在线观看| 蜜桃成人在线| 国产特黄一级片| 鲁大师成人一区二区三区| 日韩亚洲一区二区| aaaaaav| 国产成人精选| 五月婷婷欧美视频| 国产精品av免费| 老司机午夜福利视频| 美女视频一区二区三区| 97欧美精品一区二区三区| 中国美女黄色一级片| 麻豆精品99| 欧美一区二区人人喊爽| 午夜欧美福利视频| 蜜臀av在线播放| 国产精品九色蝌蚪自拍| 精品综合久久久| 中文字幕乱码视频| 伊人久久大香线蕉av超碰演员| 在线电影欧美日韩一区二区私密| 少妇精品无码一区二区三区| 四虎国产精品成人免费影视| 欧美性猛交xxxx黑人| 嫩草影院中文字幕| 欧美性videos| 国产精品天美传媒沈樵| 欧美大香线蕉线伊人久久| 丰满人妻一区二区三区免费视频| 性中国xxx极品hd| 网曝91综合精品门事件在线| 日韩一级黄色大片| 黄色一级片免费的| 成人在线不卡| 欧美亚洲国产一区在线观看网站| 自慰无码一区二区三区| 精品精品导航| 亚洲一区在线观看免费| 日本一级黄视频| 污视频在线免费观看网站| 亚洲欧美乱综合| 亚洲国产欧美不卡在线观看| 韩国福利在线| 欧美激情一区二区在线| 亚洲va韩国va欧美va精四季| 成全电影播放在线观看国语| 国产亚洲综合在线| 日韩欧美一区二区视频在线播放 | 日韩成人中文字幕| 国产香蕉精品视频| 国产成人tv| 亚洲国产古装精品网站| 欧美性生交xxxxx| 中文不卡1区2区3区| 亚洲欧美视频在线观看视频| 国产又黄又爽免费视频| 在线观看男女av免费网址| 国产欧美日产一区| 一区不卡字幕| 污片在线免费观看| 天天综合色天天综合| a天堂资源在线观看| 2020av在线| 精品美女国产在线| 9久久婷婷国产综合精品性色| 黑人一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 丁香激情综合五月| 91视频最新| 久久999免费视频| 99re久久精品国产| 欧美久久精品一级c片| 国产一区二区日韩| 欧美卡一卡二卡三| 国产精品嫩草99av在线| 久久免费视频网站| 91黑人精品一区二区三区| 激情综合五月婷婷| 国产亚洲一区二区三区在线播放 | 在线看日韩av| 日本在线一级片| 在线综合亚洲| 国产美女精彩久久| 亚洲欧美另类视频| 久久亚洲欧美国产精品乐播| 一区二区三区四区欧美| 国产福利在线免费观看| 日韩欧美精品在线观看| 九一精品久久久| 黄色美女久久久| 国产亚洲一区二区在线| 久久精品女人毛片国产| 日韩不卡免费视频| 国产伦一区二区三区色一情| 电影在线高清| 亚洲午夜免费电影| jizz欧美性11| av日韩精品| 亚洲视频专区在线| www.99re7.com| 激情综合色综合久久综合| 国产精品区免费视频| 秋霞午夜理伦电影在线观看| 欧美日韩在线免费观看| 无人在线观看的免费高清视频| 99香蕉久久| 在线一区二区日韩| 久久久久久久久毛片| 蜜臀av性久久久久av蜜臀妖精| 国产精品av一区| 国产美女性感在线观看懂色av | 亚洲美女在线视频| 变态另类丨国产精品| 999国产精品永久免费视频app| 欧美俄罗斯性视频| 国产又粗又长视频| 国产亚洲精品福利| 日韩avxxx| 国产一区福利| 久久久av电影| 欧美日韩在线视频播放| 99视频一区二区三区| 在线电影看在线一区二区三区| 小早川怜子影音先锋在线观看| 欧美精品一区二区三区在线 | 欧美美女视频| 欧美在线一区二区三区四| 免费观看国产精品| 一区二区三区在线视频免费观看| 日本久久精品一区二区| 综合亚洲自拍| 欧洲成人性视频| 天堂av一区二区三区| 亚洲二区在线观看| 国产乱国产乱老熟300部视频| 国产欧美一区二区精品久久久| 555www成人网| 蜜臀av在线观看| 亚洲国产日日夜夜| a级一a一级在线观看| 亚洲精品一级| 久久精品五月婷婷| 浪潮色综合久久天堂| 亚洲人成啪啪网站| 一级一级黄色片| 国产精品福利一区| 伊人精品视频在线观看| 这里只有精品在线| 99视频免费观看| 不卡一本毛片| 亚洲男女自偷自拍图片另类| 亚洲天堂一区在线| 久久精品夜色噜噜亚洲a∨| 97成人在线免费视频| 亚洲日产av中文字幕| 日韩免费观看av| av亚洲在线| 97久久网站| 色8久久人人97超碰香蕉987| 精品国产人妻一区二区三区| 亚洲人妖在线| 免费日韩av电影| 91九色porn在线资源| 精品国产露脸精彩对白| 草久久免费视频| 中文字幕av免费专区久久| 日本美女视频一区| 国产精品99一区二区| 国产伦精品一区二区三区照片91| 亚洲精品永久免费视频| 少妇高潮久久77777| 中文字幕网址在线| 亚洲永久精品国产| 短视频在线观看| 久久99精品久久只有精品| 人妻互换免费中文字幕| 夜夜躁狠狠躁日日躁2021日韩| 国产精品亚洲精品| 搞黄视频免费在线观看| 日本精品一级二级| 欧美日韩国产精品综合| 久久精品一区八戒影视| 韩国三级丰满少妇高潮| 在线亚洲成人| 亚洲精品国产一区| 亚洲精品视频一二三区| 国产成人一区二区三区电影| gogo在线高清视频| 亚洲欧洲国产精品| 成人h动漫精品一区二区无码 | 男人天堂成人网| 亚洲精品推荐| 国产日韩换脸av一区在线观看| 成人性生交大片免费看网站| 亚洲欧美综合另类中字| 丰满少妇一级片| 欧美精品精品一区| 国产99久久久| 一级特黄大欧美久久久| 色www亚洲国产阿娇yao| 91啪亚洲精品| 日本在线视频播放| 男女男精品视频网| 国产91在线视频观看| 欧美日韩1080p| 久久国产主播精品| 一区二区免费| 国产免费观看久久黄| 中文网丁香综合网| av中文字幕电影在线看| 久久精品国产视频| 国产对白叫床清晰在线播放| 欧美一区日本一区韩国一区| 综合久久中文字幕| 一本大道av一区二区在线播放| 久久国产在线视频| 91在线你懂得| 亚洲少妇一区二区三区| 国产精品亚洲午夜一区二区三区| 免费无码av片在线观看| 欧美在线亚洲综合一区| 中文字幕中文字幕在线中心一区| 国产99精品| 蜜桃传媒视频麻豆一区| swag国产精品一区二区| 91成人免费看| 在线中文字幕播放| 97av在线视频| 1024在线播放| 麻豆乱码国产一区二区三区| 91大神在线网站| 在线成人一区二区| 天堂地址在线www| 最近2019年手机中文字幕 | 91九色成人| 国产精品久久久久久久久免费| 热三久草你在线| 欧美一级片久久久久久久| rebdb初裸写真在线观看| 欧美成在线视频| 青草在线视频| 精品国产一区二区三区久久久狼| 麻豆tv在线| 中文字幕久热精品视频在线| 91精品国产91久久久久游泳池| 欧美精品一区二区三区很污很色的| 99久久久久久久| 日韩欧美精品三级| 人妻无码中文字幕| 日韩国产在线播放| 国产污视频在线| 日韩天堂在线视频| 日韩影视在线| 97久久伊人激情网| 国模一区二区| 国产精品老牛影院在线观看| 亚洲高清影院| 国产高清一区视频| 日韩高清影视在线观看| 日本黄网免费一区二区精品| 第一sis亚洲原创| 在线观看18视频网站| 欧美大黑bbbbbbbbb在线| 在线观看日本一区| 久草网在线观看| 亚洲成人一区在线| 国产无遮挡aaa片爽爽| 欧美日韩精品在线观看| 黄色污污视频软件| 欧美性猛交一区二区三区精品| 97精品人妻一区二区三区在线| 欧美吞精做爰啪啪高潮| 中文字幕在线网址| 欧美一区二区三区在线视频| 日本波多野结衣在线| 亚洲性生活视频| caopeng在线| 久久久亚洲影院你懂的| 成人一区福利| 成人欧美一区二区三区黑人| 久久综合五月婷婷| 女同一区二区| 在线精品国产| 免费在线激情视频| 久久97超碰国产精品超碰| 精品人妻在线视频| 99这里只有久久精品视频| 欧美熟妇激情一区二区三区| 一区二区成人在线视频| 亚洲图片在线视频| 日韩欧美国产精品一区| 国产特黄在线| 97香蕉久久超级碰碰高清版| 日韩色性视频| 久久综合毛片| 欧美精品黄色| 色婷婷.com| 91免费小视频| 成人观看免费视频| 欧洲视频一区二区| 欧美性受xxxx狂喷水| 尤物tv国产一区| 9lporm自拍视频区在线| 91亚洲精华国产精华| 国产欧美一区| 男人天堂1024| 九一久久久久久| 一本加勒比北条麻妃| 亚洲视频一区在线| 亚洲国产无线乱码在线观看| 欧美一区二区三区人| 国产高清视频在线播放| 欧美黄色片在线观看| 国产精品一区免费在线| 日韩中文不卡| 日韩精品色哟哟| 一级做a爰片毛片| 午夜视频一区二区三区| 99久久久久久久| 久久久久北条麻妃免费看| 日韩一区二区三区在线免费观看| 国产日韩精品久久| 亚洲一级影院| 久久综合桃花网| 中文字幕在线一区免费| 波多野结衣电车痴汉| 精品一区二区三区四区| 玩弄中年熟妇正在播放| 日韩天天综合| 国产精品久久无码| 午夜激情一区二区| 欧美综合视频在线| 久久久久日韩精品久久久男男| 亚洲狼人综合| 自拍另类欧美| 激情久久五月天| 国产农村妇女精品一区| 欧美视频一区二区三区四区| 岛国在线大片| 国产日韩中文字幕| 亚洲精品成人影院| 亚洲国产日韩欧美在线观看| 91视频.com| 欧美性猛交bbbbb精品| 亚洲精品天天看| 成人看片网站| 麻豆中文字幕在线观看| 另类小说一区二区三区| 在线视频这里只有精品| 亚洲自拍另类综合| 色视频在线观看| 欧美精品午夜视频| 成人看片爽爽爽| 亚洲国产精品久久久久婷蜜芽| 91一区二区在线| 国内av在线播放| 久久五月天综合| 日本成人一区二区| 一区二区视频在线免费| 久久先锋资源| 日本午夜在线观看| 欧美mv日韩mv亚洲| 中文字幕乱码在线播放| 麻豆成人小视频| 美女日韩在线中文字幕| 在线观看日本中文字幕| 欧美巨大另类极品videosbest| 羞羞电影在线观看www| 激情小说综合网| 免费xxxx性欧美18vr| 玖玖爱免费视频| 亚洲精品小视频| 欧美一级在线| 久久久久久人妻一区二区三区| 久久久91精品国产一区二区三区| 国产免费a视频| 大胆人体色综合| 成人爽a毛片免费啪啪红桃视频| 成人免费观看视频在线观看| 中文乱码免费一区二区| 亚洲第一色网站| 国产精品人成电影在线观看| 欧美3p视频| 波多野结衣 在线|