Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中自动化远程部署?_Python_Linux_Ubuntu_Plumbum - Fatal编程技术网

如何在python中自动化远程部署?

如何在python中自动化远程部署?,python,linux,ubuntu,plumbum,Python,Linux,Ubuntu,Plumbum,我想自动化远程部署,目前我正在手动执行 这个过程包括 从特定文件夹制作焦油球 到远程服务器的SFTP 重命名旧文件夹 卸载新的tar文件 重新启动apache 远程系统位于intranet上,无法访问外部internet 我想知道如何从python脚本中传输文件,然后在传输完成后登录到ssh并执行其他操作。我对如何实现这一目标感到困惑。在本地主机上,我可以做所有这些,但在远程主机上如何做呢?对于简单而肮脏的工作,您可以使用它,但决不能说您不能使用fabric来构建严肃的产品 对于繁重的配置例程,

我想自动化远程部署,目前我正在手动执行

这个过程包括

从特定文件夹制作焦油球 到远程服务器的SFTP 重命名旧文件夹 卸载新的tar文件 重新启动apache 远程系统位于intranet上,无法访问外部internet


我想知道如何从python脚本中传输文件,然后在传输完成后登录到ssh并执行其他操作。我对如何实现这一目标感到困惑。在本地主机上,我可以做所有这些,但在远程主机上如何做呢?

对于简单而肮脏的工作,您可以使用它,但决不能说您不能使用fabric来构建严肃的产品


对于繁重的配置例程,您最好选择一个,例如,

使用系统调用shell脚本,您可以轻松编写bash脚本来处理这个问题!如果是我,我会使用git和post-receive钩子,如以下示例所示:。其想法是推送到服务器上的git存储库,并使用钩子脚本将最新文件复制到部署目录并重新启动,或者向cron发出重新启动的信号。事实上,一旦git为您管理备份和修订历史记录,您的大部分步骤都会被删除,保留旧文件夹可能与此无关。@Paul我的问题是,在远程系统上,internet不可用。只有内联网。所以这就是为什么我想把所有的东西都放在我的本地电脑上,一旦准备好,我就可以了VPN@KKJOJ这很重要。你应该把它编辑成问题。git通过ssh工作,并且您可以有多个git存储库,例如,在网关计算机上有一个git存储库,它可以同时看到网络并推送到内部网计算机。