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

Jenkins之Windows服務(wù)器通過ssh遠程發(fā)布

 更新時間:2025年09月02日 15:14:07   作者:關(guān)關(guān)長語  
該文章介紹了在Windows系統(tǒng)中通過SSH插件實現(xiàn)Jenkins遠程構(gòu)建部署的配置方法,包括安裝OpenSSH、配置遠程服務(wù)器連接參數(shù)、設(shè)置文件傳輸路徑及執(zhí)行命令,并測試連接確保功能正常

一、安裝插件

通過ssh訪問遠程主機,需要為Windows系統(tǒng)的主機安裝Open SSH,防火墻開放22端口,本地Jenkins安裝插件安裝publish over ssh插件,安裝后重啟Jenkins服務(wù)。

查看任務(wù)中構(gòu)建后操作,可以看到多出選項Send build artifacts over SSH選項,則表明安裝成功。

需要的配置相關(guān)配置,如果用戶為首次使用,則需要轉(zhuǎn)到首頁,選擇 系統(tǒng)配置添加對應(yīng)的 SSH 發(fā)布配置,首頁如下:

二、系統(tǒng)配置

2.1、配置遠程SSH服務(wù)端

System Configuration-Configure System-Publish over SSH中,配置一個遠程ssh連接配置,

各個輸入框,用途如下:

  • Passphtase:對應(yīng)用戶私鑰的文件加密秘鑰,默認可以是空,依據(jù)實際情況考慮是否填寫。
  • Path to key:用戶實際私鑰所在文件的絕對或者相對路徑,與 Key 考慮二者選擇一個即可。
  • Key:用戶私鑰對應(yīng)的實際內(nèi)容,與 Path to key 二者選擇一個即可。

?

配置 SSH 服務(wù)地址:

輸入框內(nèi)容用途如下:

  • Name:當前 SSH 服務(wù)端配置記錄的名稱,用于做為記錄的唯一辨識,盡量不要重名。
  • Hostname:一般為服務(wù)端所屬的 IP,其他端口需要通過 高級配置級進行指定。
  • Username:遠程訪問服務(wù)器時,提供的訪問用戶名,一般為服務(wù)端提前配置好的用戶名。
  • Remote Directory:遠程訪問時,非默認訪問路徑時,需要用戶依據(jù)實際需求進行指定(Windows僅僅適用于當前盤符)。

?確認配置無誤后,點擊 Test Configuration 按鈕進行測試。配置成功,測如上圖返回結(jié)果為 Success 字樣。

2.2、高級配置

高級配置中,支持通過用戶名和密碼進行遠程訪問,同時包含,需要訪問的服務(wù)端ssh 端口為非22端口時的相關(guān)配置,以及代理相關(guān)配置操作輸入項,此處不一一展開討論。

SSH Server 配置無誤后,點擊保存即可。

三、項目添加配置

回到目標項目中,點擊構(gòu)建后項目,選擇Send build artifacts over SSH 選項,效果如下:

上述轉(zhuǎn)換 Transfers 輸入內(nèi)容用途如下:

  • Source files 需要上傳的文件,可以使用匹配符號,具體查看官方文檔。
  • Remove prefix 上傳是需要移除的文件前綴,避免拷貝文件時,在服務(wù)端生成同樣目錄層級。
  • Remote directory 上傳到遠程服務(wù)器對應(yīng)文件目錄。
  • Exec command  用于在執(zhí)行轉(zhuǎn)換后,進行后續(xù)的指令操作,方便后續(xù)構(gòu)建的處理操作。

?其中可以使用,Jenkins environment variables,具體可以查看本地地址 http://localhost:8060/env-vars.html/,讀者依據(jù)實際的部署端口,進行相關(guān)環(huán)境變量的查看。

參考鏈接:https://plugins.jenkins.io/publish-over-ssh/

高級配置中,可以添加需要排除的文件,用于在轉(zhuǎn)換過程中,排除上傳的文件,** 表示全文本匹配。

筆者案例,填寫如下:

確認無后,點擊保存?;氐巾椖宽撁?,進行立即構(gòu)建,查看項目控制臺輸出如下:

# 省略以上內(nèi)容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [localserver] ...
SSH: Disconnecting configuration [localserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

通過 xshell 可以看到對應(yīng)工作目錄中,已經(jīng)生成一個 jenkins 的文件目錄,文件目錄中,包含對應(yīng)本地發(fā)布的項目文件。

C:\Users\ggcyuser>dir jenkins                                                                          
 驅(qū)動器 C 中的卷是 Windows                                                                            
 卷的序列號是 22DB-1BE1                                                                               
                                                                                                      
 C:\Users\ggcyuser\jenkins 的目錄                                                                     
                                                                                                      
2021/10/06  20:35    <DIR>          .                                                                 
2021/10/06  20:35    <DIR>          ..                                                                
2021/10/06  20:35               168 appsettings.Development.json                                      
2021/10/06  20:35           106,809 JenkinsDemo.deps.json                                             
2021/10/06  20:35             9,216 JenkinsDemo.dll                                                   
2021/10/06  20:35           174,592 JenkinsDemo.exe                                                   
2021/10/06  20:35            20,016 JenkinsDemo.pdb                                                   
2021/10/06  20:35               311 JenkinsDemo.runtimeconfig.json                                    
2021/10/06  20:35               555 web.config                                                        
               7 個文件        311,667 字節(jié)                                                           
               2 個目錄 34,109,632,512 可用字節(jié)

此時,可能讀者就會問,那如果需要遠程訪問的文件目錄,并不是當前賬戶所在的根目錄如何處理?

其實對于這個問題,分情況處理,主要針對遠程賬戶默認用戶目錄與非默認目錄。

3.1、默認用戶目錄

默認空間下的子級目錄切換可以通過配置的 SSH Servers 進行處理,在配置 SSH Servers 就提到過如下輸入字段:

Remote Directory 遠程訪問時,非默認訪問路徑時,需要用戶依據(jù)實際需求進行指定(Windows僅僅適用于當前盤符)。

如果用戶有實際需求,可以在當前字段中進行特定目錄的目錄配置,需要注意的是,目前筆者測試結(jié)果為通過 SSH Server 方式僅僅適用于當前Windows服務(wù)端的所在盤符,跨盤符操作不支持。

此處為了方便,筆者選擇非默認目錄,設(shè)置為服務(wù)器中的目錄 jenkins,配置一個新的 SSH Severs,具體內(nèi)容如下:

項目配置中對應(yīng)的 SSH Server 修改為當前配置好的 directoryserver

保存后,進行構(gòu)建,控制臺輸出如下:

# 省略以上內(nèi)容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [directoryserver] ...
SSH: Disconnecting configuration [directoryserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

3.2、非默認目錄

雖然無法直接切換目錄,但是可以考慮在文件上傳后,通過指令方式,將上傳的文件進行指定目錄的拷貝,此時需要使用的到 Exec command 輸入框,進行輸入轉(zhuǎn)換之后的文件其他處理操作。

當前指令xcopy /s /y jenkins "E:\Study\Servers\jenkins",表示拷貝并在目標文件夾文件存在時進行強制覆蓋操作,在 xshell 中能夠正常使用,保存后,進行 Build Now,查看控制臺輸出結(jié)果如下:

# 省略以上內(nèi)容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [localserver] ...
SSH: EXEC: completed after 201 ms
SSH: Disconnecting configuration [localserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

SSH 遠程可以直接執(zhí)行指令,而不考慮文件轉(zhuǎn)換和拷貝,上述操作可以將文件轉(zhuǎn)換和指令執(zhí)行進行拆分,操作如下:

總結(jié)

上述為筆者對自定義構(gòu)建項目的操作與技巧說明。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何給HttpServletRequest增加消息頭

    如何給HttpServletRequest增加消息頭

    這篇文章主要介紹了如何給HttpServletRequest增加消息頭的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java中的空指針異常情況以及解決方案

    java中的空指針異常情況以及解決方案

    這篇文章主要介紹了java中的空指針異常情況以及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot解析JSON報錯400 Bad Request的解決方案

    SpringBoot解析JSON報錯400 Bad Request的解決方案

    在Spring Boot開發(fā)中,400 Bad Request錯誤是常見的客戶端錯誤之一,本文將從問題分析,排查步驟到解決方案進行系統(tǒng)性講解,幫助開發(fā)者高效定位并修復問題
    2025-07-07
  • SpringBoot防止大量請求攻擊的實現(xiàn)

    SpringBoot防止大量請求攻擊的實現(xiàn)

    在有些特定的時候需要加上IP訪問時間限制,防止一個IP多次訪問請求,本文主要介紹了SpringBoot防止大量請求攻擊的實現(xiàn),感興趣的可以了解一下
    2021-11-11
  • feign調(diào)用跳過HTTPS的SSL證書校驗配置過程

    feign調(diào)用跳過HTTPS的SSL證書校驗配置過程

    Feign默認驗證SSL證書,若服務(wù)器使用自簽名或內(nèi)部CA證書會導致連接失敗,解決方法是跳過校驗,但僅限測試環(huán)境,生產(chǎn)環(huán)境需嚴格驗證以確保安全
    2025-07-07
  • Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    這篇文章主要介紹了Spring?Boot?集成?Swagger2構(gòu)建?API文檔,通過使用?Swagger,我們只需要按照它所給定的一系列規(guī)范去定義接口以及接口的相關(guān)信息,然后它就能幫我們自動生成各種格式的接口文檔,方便前后端開發(fā)者進行前后端聯(lián)調(diào),下文需要的朋友可以參考一下
    2022-03-03
  • Java設(shè)計模式之觀察者模式

    Java設(shè)計模式之觀察者模式

    這篇文章主要介紹了Java設(shè)計模式之觀察者模式,觀察者模式,是一種行為性模型,又叫發(fā)布-訂閱模式,他定義對象之間一種一對多的依賴關(guān)系,使得當一個對象改變狀態(tài),則所有依賴于它的對象都會得到通知并自動更新,需要的朋友可以參考下
    2023-11-11
  • PostMan如何傳參給@RequestBody(接受前端參數(shù))

    PostMan如何傳參給@RequestBody(接受前端參數(shù))

    這篇文章主要介紹了PostMan如何傳參給@RequestBody(接受前端參數(shù)),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Springboot3.4.x中的@Bean使用案例

    Springboot3.4.x中的@Bean使用案例

    Spring Boot 3.4.x中@Bean新增defaultCandidate=false屬性,用于在存在相同類型Bean時忽略非默認候選者,確保僅實例化一個Bean,下面就來介紹一下如何使用
    2025-08-08
  • java向文件中追加內(nèi)容與讀寫文件內(nèi)容源碼實例代碼

    java向文件中追加內(nèi)容與讀寫文件內(nèi)容源碼實例代碼

    這篇文章主要介紹了java向文件中追加內(nèi)容與讀寫文件內(nèi)容源碼實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評論