【CI/CD】使用Jenkins部署VUE項目到windows服務器_配置Jenkins通過SSH連接windows server機器(3)


 一、分析准備

 接上文,我們的項目是部署在windows server機器上的,沒有Linux方便,需要先配置好SSH連接工具,以便后續Jenkins能連接到此服務器實現傳包+執行腳本等任務。

經過分析,我們要做如下的准備:

1、在項目所在的windows server機器上安裝SSH工具

2、通過工具、命令行等,手動確保Jenkins機器能通過SSH連接上項目機器

3、在確認上述連接正常的情況下,進行Jenkins中的相關配置,使得后續可通過Jenkins項目任務部署代碼到服務器 

PS:項目的情況如下

Jenkins機器

1台,部署在windows機器

項目語言 VUE純前端
項目部署服務器 1台,windows server服務器

 

 

 

 

 

 二、windows server服務器SSH工具安裝

由於windows機器沒有自帶ssh工具,需要手動進行安裝,經過了筆者在網上的各類查詢及親測親用,最終僅使用PowerShellServer工具時成功了。下面僅介紹這款工具。

1)、PowerShellServer安裝

請自行百度下載安裝包。

然后安裝,一路下一步即可,姓名郵箱這里可以隨便填一個即可。

 這里選擇NO。

   

2)、PowerShellServer配置

請按如下方案進行配置。

1、勾選作為服務運行。

 2、勾選截圖中的兩項,並且配置SSH Port。關於SSH port需要注意

a、不要和電腦其他端口沖突;

b、如有防火牆,需要配置該端口在防火牆中不被攔截;

c、如你的機器是阿里雲、華為雲等,需要找管理員給你對外開放此端口;(特別重要)

  

配置好后且啟動了powershell,在機器上輸入netstat -an,應該可以看到配置的ssh端口。

  3、勾選SFTP選項,並且配置后續接收Jenkins發送的代碼包的默認目錄。

  4、配置使用密鑰訪問。

 注:上一步的前提是,將部署Jenkins機器生成的公鑰(參考上一篇文章https://www.cnblogs.com/chooperman/p/14061469.html),復制到項目所在機器中,一般放在.ssh文件夾下。

    

 5、點擊啟動即可。

注意:PowerShellServer工具最多同時只能1個客戶端連接,后續在調試的時候要注意不要在命令行已連接的時候,同時嘗試用Jenkins連接,會報錯。

 

3)、PowerShellServer連接

為了方便問題的排查,我們選擇一步步進行PowerShellServer連接。首先通過手動方式的連接,排除PowerShellServer本身的配置問題。在此基礎之上,我們再通過Jenkins任務的配置去連接。

a)、手動通過Jenkins機器連接項目服務器

 Jenkins所在機器安裝ssh服務后,可以使用命令行的方式進行遠程連接項目服務器。如果沒有安裝ssh服務,也可以使用putty或者xshell等工具連接,原理一樣。下面介紹命令行的方式連接。

由於部署Jenkins的機器也是windows,輸入cmd進入命令行后,輸入如下命令嘗試連接項目服務器。

ssh -p SSH端口號 機器IP

1、-p SSH端口號用於指定SSH端口號,這里的端口號則是在PowerShellServer的server setting中配置的。

2、若需顯示詳細的連接信息,可以輸入-v 命令,即ssh -v -p SSH端口號 機器IP

3、由於使用密鑰連接,命令中不需要在ip前面指定訪問用戶名。

  如上圖所示,即表明成功通過SSH命令遠程連接上了項目的windows server服務器。可以輸入一些命令來進一步驗證。另外PowerShellServer工具中也同時顯示了已被Jenkins機器連接上。

  

b)、Jenkins配置連接項目服務器

由於上一步已經確認ssh本身是OK的,這里我們就放心的進行Jenkins側的相關配置。

進入系統配置

  這里進行2處SSH的配置

首先配置SSH remote hosts(用於后續通過ssh輸入命令行,其實Publish over SSH中也可以使用命令,但其命令在Jenkins的控制台命令中不回顯,因此使用SSH remote hosts輸入命令,起到回顯的作用。感興趣可以自己試試。如實填寫IP、SSH端口號、選擇全局憑證(即Jenkins服務器生成的私鑰,配合項目服務器已經有的公鑰,用於遠程訪問項目機器,參考https://www.cnblogs.com/chooperman/p/14061469.html),點擊check connection,發現成功即可。

  配置Publish over SSH(用於后續將生成的代碼包放到遠程服務器)。這里和上圖的配置基本一致,區別是這里沒有使用配置好的全局憑證,而是單獨在某個SSH Server中配置了私鑰。當然這里也可以使用全局憑證,個人喜好。

 

 好了,到目前為止我們確保了后續Jenkins可以通過SSH工具把代碼包發送到windows server服務器。下一章開始介紹,如何配置1個Jenkins的任務用於日常構建vue項目,並部署到windows服務器上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM