二. General配置(引數化構建)
1. 用來選擇部署的伺服器(我這裡只新增了一個,如果需要新增多個,一行一個就可以了)
2. 選擇不同的環境變數
三、原始碼管理
1. 填寫Github專案地址,選擇Credential(Credential需要自己新建,根據自己情況新增即可)。
2. 在Branches to buid下邊填寫要拉取的遠端分支(如圖)
四、Buid Steps
1. 增加構建步驟-Send files or execute commands over SSH
(1)選擇Name之前,需要提前新增需要ssh的伺服器的主機資訊(當前使用windows伺服器演示),包括地址,使用者名稱,密碼,例如:
在Dashboard-系統管理-系統配置-Publish over SSH-新增
Name隨便填,能用來分辨即可,Hostname即ip地址,Username就是ssh的使用者名稱,如果ssh需要密碼,則再“高階”中勾選 "Use password authentication, or use a different key",然後填寫密碼。
最後,在右下角點選“Test Configuration”,如果透過,則繼續進行下一步。否則需要重複檢查您自己的配置直到透過。
(2)繼續回到新增構建步驟,如下圖,Name選擇剛剛新增的ssh伺服器資訊,然後選擇“高階”,勾選Verbos output in console(從Jenkins控制檯輸出詳細步驟),勾選Label,Label則填寫引數化構建過程中的SSH_SERVER中的選項列表的選項對應(一個選項 對應一個ssh步驟模組)。
(3)Transfers配置
Exec command下邊填寫命令
d: &&
if not exist mt4-manager md mt4-manager &&
mkdir D:\\mt4-manager\\$MANAGER &&
cd "mt4-manager" &&
if not exist publish md publish &&
cd "d:\\mt4-manager\\publish" &&
if not exist $MANAGER md $MANAGER
釋義:傳送cmd命令
d: ->跳轉到D盤
if not exist mt4-manager md mt4-manager -> 如果不存在mt4-manager資料夾則建立
mkdir D:\\mt4-manager\\$MANAGER -> 建立動態名稱目錄($MANAGER對應引數化構建過程中的MANAGER對應的選項)
cd "mt4-manager" -> 跳轉到mt4-manager目錄
後邊的命令同以上
、
“高階”選單中,Exec timeout修改為0,並且勾選Exec in pty。
2. 在同模組下,新增Transfer Set子模組
在Exec command下邊填寫以下命令:
pm2 delete "mt4-manager-api-$MANAGER"
3. 新增構建步驟-執行shell
輸入命令(複製Jenkins伺服器上的程式碼到ssh伺服器上對應的目錄):
scp -r ../mt4-manager-api mt4@192.168.0.130:d:\\mt4-manager\\$MANAGER
4. 再次新增構建步驟-Send files or execute commands over SSH
配置跟剛剛配置的ssh模組一樣,但是Exec command輸入為:
d: &&
cd "D:\mt4-manager\$MANAGER\manager-api-v2" &&
dotnet publish -c Release -o D:\mt4-manager\publish\$MANAGER &&
cd "D:\mt4-manager\publish\$MANAGER" &&
powershell -Command "(Get-Content appsettings.json -Raw) -replace 'devDemo','$MANAGER' | Set-Content appsettings.json" &&
pm2 start "manager-api-v2.exe" --name "manager-api-$MANAGER" &&
echo start success
別忘了“高階”選單中的配置
釋義:
進入d盤,進入manager-api-v2資料夾(專案根目錄),
釋出專案到指定資料夾
進入釋出後的資料夾專案根目錄
使用powershell命令,將appsettings.json中配置的環境變數值,由devDemo替換為動態引數值$MANAGER,對應引數化構建中的$MANAGER中的選項
使用pm2命令執行.net core程式,名稱為manager-api-(動態引數)
輸出 start success
到此,整個的配置過程就完成了。檢視結果
如有錯誤,請大佬指正!