欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過Python腳本+Jenkins實現(xiàn)項目重啟

 更新時間:2023年10月07日 09:45:21   作者:程序員Forlan  
Jenkins是一個流行的開源自動化服務(wù)器,用于快速構(gòu)建、測試和部署軟件,本文主要介紹了通過Python腳本+Jenkins實現(xiàn)項目重啟,具有一定的參考價值,感興趣的可以了解一下

一、需求

微服務(wù)項目,服務(wù)很多,重啟服務(wù),基本都是通過Jenkins進(jìn)行發(fā)布,過程差不多如下:

1、登錄后臺,選擇環(huán)境和服務(wù),如下圖:

2、點擊“Build_with_Parameters”,彈出窗口,選擇分支,然后點擊“開始構(gòu)建”,如下圖:

通過上面的操作,就會進(jìn)入構(gòu)建隊列排隊,如果系統(tǒng)沒有正在構(gòu)建的,很快就可以在構(gòu)建執(zhí)行狀態(tài)中看到,受到Maven項目配置的執(zhí)行者數(shù)量的限制,如下圖,公司限制的是同一時間只能有3個在構(gòu)建中

所以,當(dāng)需要重啟很多個服務(wù)時,需要每個都去重復(fù)上面的步驟,選環(huán)境-》選服務(wù)-》Build_with_Parameters-》選分支-》開始構(gòu)建,賊麻煩,很影響效率,這也是我寫這篇文章的原因,下面和大家分享下我的解決方案

二、分析

其實上面最終就是觸發(fā)構(gòu)建動作,就是選擇了分支后,點擊開始構(gòu)建,這里應(yīng)該是調(diào)用了相關(guān)API,然后傳參就是分支,順著這個思路,我們?nèi)タ纯凑{(diào)用了什么接口,發(fā)現(xiàn)頁面看不到調(diào)用了什么接口,這就可能需要去找官方文檔了,看看有沒有什么說明,使用過Python的同學(xué)應(yīng)該知道,里面提供了強(qiáng)大的類庫,其中就包括了jenkinsapi,可以直接使用

三、實現(xiàn)

公共代碼

# Jenkins地址和請求參數(shù)
jenkins_url = 'http://xxx.xx.xxx.xxx:端口號'
parameters = {'BRANCH': 'origin/dev-test-common'}
def build_job_with_parameters(jenkins_url, job_name, parameters):
jenkins = Jenkins(jenkins_url, username='forlan', password='forlanxxx')
job = jenkins[job_name]
return job.invoke(build_params=parameters)

單個服務(wù)版本

1、寫死某個服務(wù)

def baseWay():
job_name = 'Test-forlan'
print(build_job_with_parameters(jenkins_url, job_name, parameters))

2、支持服務(wù)單選

options = [
    "Test-forlan1",
    "Test-forlan2",
    "Test-forlan3"
]
def oneChoiceWay():
    while True:
        for i, option in enumerate(options):
            print(f"{i}: {option}")
        choice = int(input("Enter your choice : "))
        if choice >= 0:
            print(options[choice], "重啟中")
            print(build_job_with_parameters(jenkins_url, options[choice], parameters))
        elif choice == -1:
            break
        else:
            print("Invalid choice. Please try again.")
        print("----------------------------------\n")
    print("Loop exited.")

多服務(wù)版本

options = [
    "Test-forlan1",
    "Test-forlan2",
    "Test-forlan3"
]
def moreChoiceWay():
    exitFlag = False
    while True:
        for i, option in enumerate(options):
            print(f"{i}: {option}")
        choiceStr = input("Enter your choices(split by ',') : ")
        choices = choiceStr.split(',')
        for choice in choices:
            choice = int(choice)
            if choice >= 0:
                print(build_job_with_parameters(jenkins_url, options[choice], parameters))
            elif choice == -1:
                exitFlag = True
                break
            else:
                print("Invalid choice. Please try again.")
        print("----------------------------------\n")
        if (exitFlag):
            break
    print("Loop exited.")

最終實現(xiàn)效果

0: Test-forlan11: Test-forlan22: Test-forlan3Enter your choices(split by ',') : 1,2Test-forlan2 重啟中Test-forlan3 重啟中----------------------------------

0: Test-forlan11: Test-forlan22: Test-forlan3Enter your choices(split by ',') : -1----------------------------------

Loop exited.

將Python程序轉(zhuǎn)換為桌面可執(zhí)行文件(.exe)

安裝pyinstaller庫

pip install pyinstaller

安裝完畢后,使用以下命令將Python程序轉(zhuǎn)為exe文件:

pyinstaller Jenkins.py

這將在當(dāng)前目錄下生成dist文件夾,并在其中包含可執(zhí)行的exe文件。完成后,可以在桌面上找到生成的exe文件,雙擊運(yùn)行即可,效果如下:

 到此這篇關(guān)于通過Python腳本+Jenkins實現(xiàn)項目重啟的文章就介紹到這了,更多相關(guān)Python Jenkins項目重啟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyCharm中的terminal運(yùn)行從PS修改成cmd方式

    PyCharm中的terminal運(yùn)行從PS修改成cmd方式

    這篇文章主要介紹了PyCharm中的terminal運(yùn)行從PS修改成cmd方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Flask 使用工廠模式

    Flask 使用工廠模式

    本文章向大家介紹flask工廠模式,主要包括flask工廠模式使用實例、應(yīng)用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下

    2021-11-11
  • Numpy之reshape()使用詳解

    Numpy之reshape()使用詳解

    今天小編就為大家分享一篇Numpy之reshape()使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Anaconda虛擬環(huán)境配置Python庫與Spyder編譯器的方法

    Anaconda虛擬環(huán)境配置Python庫與Spyder編譯器的方法

    在文章創(chuàng)建Anaconda虛擬Python環(huán)境的方法中,我們介紹了在Anaconda環(huán)境下,創(chuàng)建、使用與刪除Python虛擬環(huán)境的方法,而創(chuàng)建虛擬環(huán)境后,就需要在對應(yīng)的環(huán)境內(nèi)配置各類庫與軟件,本文就對這些操作加以介紹,感興趣的朋友感興趣的朋友一起看看吧
    2024-04-04
  • python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件

    python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件

    Pandas是Python中用于數(shù)據(jù)分析和處理的強(qiáng)大庫,它提供了靈活高效的數(shù)據(jù)結(jié)構(gòu),如DataFrame和Series,使得對數(shù)據(jù)的處理變得簡單易行,在實際應(yīng)用中,我們經(jīng)常需要將處理后的數(shù)據(jù)保存為CSV,所以本文給大家介紹了python使用Pandas導(dǎo)出數(shù)據(jù)并保存為CSV文件
    2024-12-12
  • 用python寫一個windows下的定時關(guān)機(jī)腳本(推薦)

    用python寫一個windows下的定時關(guān)機(jī)腳本(推薦)

    由于本人經(jīng)常使用筆記本共享WiFi,但是又不想筆記本開機(jī)一夜,每次都是使用dos命令關(guān)機(jī),感覺好麻煩,然后小編想到用python寫一個定時關(guān)機(jī)的腳本,具體實例代碼請參考本文
    2017-03-03
  • Python入門之三角函數(shù)全解【收藏】

    Python入門之三角函數(shù)全解【收藏】

    這篇文章主要介紹了Python入門之三角函數(shù)全解【收藏】,還是比較全面的,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python實現(xiàn)單張圖像拼接與批量圖片拼接

    python實現(xiàn)單張圖像拼接與批量圖片拼接

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)單張圖像拼接與批量圖片拼接,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python 獲取windows桌面路徑的5種方法小結(jié)

    Python 獲取windows桌面路徑的5種方法小結(jié)

    今天小編就為大家分享一篇Python 獲取windows桌面路徑的5種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 如何使用python-dotenv解決代碼與敏感信息的分離

    如何使用python-dotenv解決代碼與敏感信息的分離

    我們開發(fā)的每個系統(tǒng)都離不開配置信息,這些信息都非常敏感,一旦泄露出去后果非常嚴(yán)重,被泄露的原因一般是程序員將配置信息和代碼混在一起導(dǎo)致的,這篇文章主要給大家介紹了關(guān)于如何使用python-dotenv解決代碼與敏感信息的分離,需要的朋友可以參考下
    2022-03-03

最新評論