现在部署都靠远程桌面拷贝上去,累死人
领导准备用 rundeck 来搞,也就是把脚本通过 ssh 下发到各个机器,然后跑,但是 ssh 在 windows 下不是一般的坑,
首先就是斜线和反斜线的问题,拷贝的时候如果 windows 路径填反斜线,就会直接被拷贝到盘的根目录下,这样就根本不会执行成功。如果填斜线,在执行的时候,斜线会被识别成参数,(卧槽!!一万只草泥马
再还有的就是 SSH 的权限问题, ssh 要求目录权限,用户的 home 目录是需要 755 , ssh 目录需要 700 还是什么, authorised_keys 需要 600
~但是这些权限都是 unix 风格的啊摔!~
为了设定好这些权限,你还要安 cygwin ,想想给所有线上 windows 服务器都安上 cygwin 的情形,想想就觉得累好吗
我的想法是设置一台 windows server 的中控机,然后从这台中控机,直接用 powershell 的远程连接 Enter-PSSession 之类的命令,连接到线上服务器,然后执行脚本,包括拷贝代码,执行 SQL 之类的
这么做就是相当于这个中控机是个 proxy ,由它来发消息,并且汇聚最后代码的更新结果。
不知道各位有没有这样的经验,我自己是第一次碰 windows server
领导准备用 rundeck 来搞,也就是把脚本通过 ssh 下发到各个机器,然后跑,但是 ssh 在 windows 下不是一般的坑,
首先就是斜线和反斜线的问题,拷贝的时候如果 windows 路径填反斜线,就会直接被拷贝到盘的根目录下,这样就根本不会执行成功。如果填斜线,在执行的时候,斜线会被识别成参数,(卧槽!!一万只草泥马
再还有的就是 SSH 的权限问题, ssh 要求目录权限,用户的 home 目录是需要 755 , ssh 目录需要 700 还是什么, authorised_keys 需要 600
~但是这些权限都是 unix 风格的啊摔!~
为了设定好这些权限,你还要安 cygwin ,想想给所有线上 windows 服务器都安上 cygwin 的情形,想想就觉得累好吗
我的想法是设置一台 windows server 的中控机,然后从这台中控机,直接用 powershell 的远程连接 Enter-PSSession 之类的命令,连接到线上服务器,然后执行脚本,包括拷贝代码,执行 SQL 之类的
这么做就是相当于这个中控机是个 proxy ,由它来发消息,并且汇聚最后代码的更新结果。
不知道各位有没有这样的经验,我自己是第一次碰 windows server