你的情境需要自動更新或批次更新多台機器上的程式,以及只有一台機器能連外網的限制。以下是一些建議,你可以考慮使用持續集成/持續交付(CI/CD)方法以及常用工具來實現:
使用版本控制工具: 開始前,確保你的程式碼使用版本控制工具(如 Git),這能讓你輕鬆管理程式的不同版本。
持續集成/持續交付(CI/CD): 設置一個 CI/CD 流程,這可以幫助你在每次程式碼提交後自動構建、測試和部署。使用 CI/CD 工具如 Jenkins、GitLab CI/CD 或 Travis CI。
遠端更新機台: 如果只有一台機器能連外網,你可以在這台機器上建立一個部署伺服器,然後其他內部機台透過內部網路連接這個伺服器進行更新。
批量更新: 你可以使用遠程管理工具來批量更新機台。對於 Linux 系統,你可以使用 Ansible、SaltStack 或 Puppet 來實現遠程自動化管理和更新。對於 Windows 系統,PowerShell 和 PowerShell Desired State Configuration(DSC)是可用的選項。
機台群組化: 將你的機台分為群組,根據功能、操作系統等進行劃分。這樣你可以更有針對性地進行更新,減少更新對生產運行的影響。
綜合考慮,你可以使用 CI/CD 流程確保每次程式碼更新都經過自動化測試,並通過遠端管理工具進行批量更新。這將有助於簡化維護,減少人工操作並確保系統的一致性。在選擇工具和方法時,請考慮你的團隊的熟悉程度和項目的具體需求。