婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用Python腳本對GiteePages進行一鍵部署的使用說明

使用Python腳本對GiteePages進行一鍵部署的使用說明

熱門標簽:地圖標注線上如何操作 開封自動外呼系統怎么收費 河北防封卡電銷卡 電銷機器人的風險 手機網頁嵌入地圖標注位置 開封語音外呼系統代理商 天津電話機器人公司 400電話辦理哪種 應電話機器人打電話違法嗎

本次系統環境

os: Deepin(Linux)
Python: 3.7
lib: PyYAML=5.3.1 | selenium=3.141.0
extend_driver: chromedriver

使用說明

參數

Python腳本和config.yaml配置文件中包含的參數信息

repo_user_name = "Gitee用戶名"
repo_name = "倉庫名"
login_user = "登錄用戶"
login_pwd = "登錄密碼"
os = "輸入數值1~3(你的操作系統:1 Linux | 2 Mac | 3 Windows)"

驅動

本文使用的是 Linux 87.0.4280.88(正式版本) (64 位)

你需要根據你的操作系統和谷歌瀏覽器選擇對應的驅動。如果你的瀏覽器版本與我的一致,那么恭喜你_,直接拿去用吧~我已經把Linux、Mac和Windows的驅動準備好了。

如果你的谷歌瀏覽器版本與我的不一致也不要緊,下面我會告訴你如何下載與配置。

1.查看你的chrome版本

在chrome瀏覽器地址欄輸入: chrome://version/ 查看自己的版本信息。

然后你將看到:

或者在設置里查看:

2.下載驅動

選擇自己的驅動 Windows|Linux|Mac。 驅動下載: 地址

3.重要提示: 需要把驅動放到下面兩個路徑下

1.谷歌的安裝路徑

2.python的安裝路徑

Python環境

為了避免干擾,我使用虛擬環境來進行管理。

當然你使用安裝系統安裝的環境也沒關系。

使用安裝環境

1.安裝依賴庫

requirements.txt所在目錄執行:

pip install -r requirements.txt

創建尋環境

1.創建目錄, 并進入該目錄

mkdir -p ~/Virtualenv/Python37  cd ~/Virtualenv/Python37

2.創建虛擬環境

python3 -m venv python

如果報錯:

The virtual environment was not created successfully because ensurepip is not
available

執行:

hljs
apt-get install python3-venv

3.切換到虛擬環境

如果使用IDE,直接將腳本切換為虛擬環境的可執行程序。
如果使用命令行,可以直接切換到尋虛擬環境所在的目錄,直接執行即可;或者執行虛擬環境中的active。(Windows 腳本在Script下| Linux、Mac在bin下)
e.g. 對于Linux: source ./bin/activate

4.安裝該本腳本需要的依賴包

pip install -r requirements.txt

運行腳本

1.準備你的倉庫信息
我提供了通過鍵盤輸入和配置文件兩種方式來獲取你的倉庫和密碼等信息。

默認是讀取配置文件的方式進行獲取。如果你要切換,你可以在bin.py的文件末尾進行配置,我做了說明。

2.執行腳本
如果你已經了解并準備好了,那么直接執行它吧~

python bin.py

附錄

腳本 | 驅動 | 配置文件等信息,到我的Gitee上下載--> 地址

1.配置文件:config.yaml

repo_user_name: 倉庫用戶
repo_name: 倉庫名
login_user: 登錄名
login_pwd: 登錄密碼
os: 1

Python腳本:bin.py

##! ~/Virtualenv/Python37/python/bin/python
# -*- coding:utf-8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as Wait
import yaml
import os


def redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem):
    print("\nstart refresh gitee pages...")

    os_type = {
        '1': 'chromedriver_linux',
        '2': 'chromedriver_mac',
        '3': 'chromedriver_win.exe'
    }

    url = "https://gitee.com/" + repo_user_name + "/" + repo_name + "/pages"

    # path = os.path.dirname(os.path.realpath(__file__))
    # driver_path = "script/{}".format(os_type[oSystem])
    driver = os.path.abspath("script/chromedriver_linux")
    chrome_options = Options()
    chrome_options.add_argument("--window-size=1920,1080")
    chrome_options.add_argument("--start-maximized")
    chrome_options.add_argument("--headless")
    browser = webdriver.Chrome(executable_path=driver, options=chrome_options)

    browser.get(url)

    Wait(browser, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "item.git-nav-user__login-item")))
    print("load finish. url=" + url)
    login_btn = browser.find_element_by_class_name("item.git-nav-user__login-item")
    login_btn.click()

    Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_login")))
    Wait(browser, 10).until(EC.presence_of_element_located((By.ID, "user_password")))
    print("login page load finish.")
    user_input = browser.find_element_by_id("user_login")
    pwd_input = browser.find_element_by_id("user_password")
    login_btn = browser.find_element_by_name("commit")
    user_input.send_keys(login_user)
    pwd_input.send_keys(login_pwd)
    login_btn.click()

    Wait(browser, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, "button.orange.redeploy-button.ui.update_deploy")))
    print("login finish.")
    deploy_btn = browser.find_element_by_class_name('button.orange.redeploy-button.ui.update_deploy')

    browser.execute_script("window.scrollTo(100, document.body.scrollHeight);")
    deploy_btn.click()
    dialog = browser.switch_to.alert
    dialog.accept()
    print("refresh gitee pages finish.")
    browser.close()


def input_required():
    repo_user_name = input("倉庫用戶名稱:\n>>>")
    if len(repo_user_name) == 0:
        print("輸入不能為空!請重新輸入")
        input_required()

    repo_name = input("倉庫名稱:\n>>>")
    if len(repo_name) == 0:
        print("輸入不能為空!請重新輸入")
        input_required()

    login_user = input("登錄用戶名稱:\n>>>")
    if len(login_user) == 0:
        print("輸入不能為空!請重新輸入")
        input_required()

    login_pwd = input("登錄密碼:\n>>>")
    if len(login_pwd) == 0:
        print("輸入不能為空!請重新輸入")
        input_required()

    oSystem = input("當前操作系統(默認Linux)\n\t** 1:Linux | 2:Mac | 3:Windows >**\n>>>")
    if len(os) == 0:
        redeploy(repo_user_name, repo_name, login_user, login_pwd, "1")

    redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem)


def reade_conf():
    path = os.path.dirname(os.path.realpath(__file__))
    config = os.path.join(path, "config.yaml")

    f = open(config)  # 打開yaml文件

    # d = yaml.load(f) ##yaml5.1之前的版本:使用load方法加載
    d = yaml.load(f, Loader=yaml.FullLoader)  ##yaml5.1之后的版本:使用load方法加載

    repo_user_name = d['repo_user_name']
    repo_name = d['repo_name']
    login_user = d['login_user']
    login_pwd = d['login_pwd']
    oSystem = str(d['os'])

    redeploy(repo_user_name, repo_name, login_user, login_pwd, oSystem)


if __name__ == '__main__':
    # 方式一:通過鍵盤輸入必要信息
    # input_required()

    # 方式二:通過config.yaml配置文件
    reade_conf()

參考文章

https://www.jianshu.com/p/19cc4eb0f199

https://www.cnblogs.com/wulixia/p/11200023.html

以上就是使用Python腳本對GiteePages進行一鍵部署的詳細內容,更多關于Python GiteePages一鍵部署的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python自動化運維和部署項目工具Fabric使用實例
  • Python自動化部署工具Fabric的簡單上手指南
  • Linux下將Python的Django項目部署到Apache服務器
  • 在Linux系統上部署Apache+Python+Django+MySQL環境
  • 使用PyCharm配合部署Python的Django框架的配置紀實
  • 使用SAE部署Python運行環境的教程
  • 在Docker上開始部署Python應用的教程

標簽:山東 常州 駐馬店 江蘇 成都 六盤水 蘭州 宿遷

巨人網絡通訊聲明:本文標題《使用Python腳本對GiteePages進行一鍵部署的使用說明》,本文關鍵詞  使用,Python,腳本,對,GiteePages,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用Python腳本對GiteePages進行一鍵部署的使用說明》相關的同類信息!
  • 本頁收集關于使用Python腳本對GiteePages進行一鍵部署的使用說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 志丹县| 青河县| 葵青区| 高淳县| 洪泽县| 延吉市| 绍兴县| 墨玉县| 彰化县| 抚州市| 文水县| 蚌埠市| 聂拉木县| 兴山县| 呈贡县| 原平市| 会昌县| 永春县| 罗定市| 巴马| 襄城县| 白城市| 沙河市| 琼海市| 宜昌市| 新民市| 珠海市| 碌曲县| 拜城县| 平南县| 德令哈市| 定日县| 华宁县| 靖江市| 恩平市| 新建县| 海宁市| 福安市| 临邑县| 天镇县| 青龙|