前言
在上一篇w4560000 - Octopus Deploy [2] 設定 Octopus Server的設定過程中,發現一個地雷在此紀錄一下
異常狀況描述
所有任務都在queue中 不執行
切至 Configuration-Nodes 找不到Node
http://localhost/app#/Spaces-1/configuration/nodes切至 Configuration-Diagnostics 查看 Log
http://localhost/app#/Spaces-1/configuration/diagnostics
發現在對Octopus Server node 執行healthCheck會發生錯誤查看DB Table OctopusServerNode 沒有資料
sqlcmd -S localhost\SQLEXPRESS -E -y 30 -Y 30 SELECT * FROM [OctopusDeploy-OctopusServer].[dbo].[OctopusServerNode] GO
發生問題原因
目前建置錯誤的deviceName = octopus-deploy-server-1
查看
Install script 第一行 發現建立的serverNodeName會抓deviceName
“C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe” create-instance –instance “OctopusServer” –config “C:\Octopus\OctopusServer.config” –serverNodeName “OCTOPUS-DEPLOY-“
驗證錯誤原因
測試是否為 deviceName字數上限影響
修改deviceName = aaabbbcccdddeeefffggghhh
Install script 第一行 serverNodeName = AAABBBCCCDDDEEE (只取15個deviceName字元)"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" create-instance --instance "OctopusServer" --config "C:\Octopus\OctopusServer.config" --serverNodeName "AAABBBCCCDDDEEE"
查看 DB Table Node 資料正常
不是deviceName字數上限影響
測試是否為 deviceName 含有 dash字元(-)影響
修改deviceName = aa–b-c-c–deeefffggghhh
Install script 第一行 serverNodeName = AA–B-C-C–DEEE"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" create-instance --instance "OctopusServer" --config "C:\Octopus\OctopusServer.config" --serverNodeName "AA--B-C-C--DEEE"
查看 DB Table Node 資料正常
不是deviceName 含有 dash字元(-)影響
測試是否為 deviceName 結尾 dash字元(-)影響
修改deviceName = aaabbbcccdddee-fffggghhh
Install script 第一行 serverNodeName = AAABBBCCCDDDEE-"C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" create-instance --instance "OctopusServer" --config "C:\Octopus\OctopusServer.config" --serverNodeName "AAABBBCCCDDDEE-"
查看 DB Table Node 發現沒有資料
查看 Configuration-Diagnostics Log 發現能重現錯誤
http://localhost/app#/Spaces-1/configuration/diagnostics
重現錯誤
結論
Octopus Deploy 建置 Self-hosted Octopus Server時,會抓取當前的 deviceName(hostName) 當作 ServerNodeName 且自動轉為大寫
而 ServerNodeName 有15個字數上限且最後一位字元不能為dash字元(-) 🔥🔥🔥
轉載請註明來源,若有任何錯誤或表達不清楚的地方,歡迎在下方評論區留言,也可以來信至 leozheng0621@gmail.com
如果文章對您有幫助,歡迎斗內(donate),請我喝杯咖啡