当前位置:   article > 正文

python代码调用本地路径_听说很多人都不会打包,教你Python实现前端自动化打包部署!...

前端调用本地python程序建立本地目录

作为一名专职前端开发的我,为了帮助解决目前工作中的一些繁琐的工作(主要是处理 excel数据),解放程序员双手,前阵子就刚刚入了 python 的坑,毕竟也算是门工具语言,都已经加入少儿编程了,哈哈哈!

背景

实践是检验学习成果的唯一标准!

在我学习过程中,一直琢磨着如何将学习的理论与我所掌握的知识结合起来,来解决或者处理实际问题,于是就有了 前端自动化打包部署 的念头。

尽快近几年,市面上关于自动化部署的工具层出不穷,比如当下比较流行的 Jenkins ,尽管如此,我还是想自己试一试~

环境配置

初学乍道,切不可眼高手低,先给自己定个小目标,先实现一个最简单版本。

工欲善其事,必先利其器,开发环境的配置是开发的第一步。

关于 python 的安装配置我就不赘述了。

为了方便测试,我本地利用 VM 虚拟机安装了 centos 系统,安装并配置 nginx 充当了服务器。

难点分析

要想实现打包,核心需要考虑下面2个问题:

  • 在 python 脚本中如何去执行前端的打包命令 npm run build (这里以 vue 项目作为测试)
  • 在 python 脚本中如何连接服务器将打包好的问题上传到服务器的指定目录中去

理论求证

通过查阅资料得知, python 中的 os 模块提供了非常丰富的方法用来处理文件和目录,其中 os 模块中的 system() 函数可以方便地运行其他程序或者脚本,其语法如下:

os.system(command)

command 要执行的命令,相当于 在Windows 的 cmd 窗口中输入的命令。如果要向程序或者脚本传递参数,可以使用空格分隔程序及多个参数,该方法返回结果如果为 0,则表示命令执行成功,其它值则表示错误。

这样就解决了第一个问题。

关于服务器连接这一块,可以使用 python 的一个第三方模块 paramiko ,它实现了 SSHv2 协议,允许我们直接使用 SSH 协议对远程服务器执行操作,关于 paramiko 的更多知识和用法,请戳 这里

这样上面两个难点就解决了,我们就可以开工了。

小试牛刀

首先定义一个类 SSHConnect 后续的方法我们都会在这个类里面完善

  1. class SSHConnect:
  2. # 定义一个私有变量,用来保存ssh连接通道,初始化为None
  3. __transport = None
  4. 复制代码

初始构造函数

我们需要在构造函数中定义我们需要的参数,初始化我们的连接

  1. # 初始化构造函数(主机,用户名,密码,端口,默认22
  2. def __init__(self, hostname, username, password, port=22):
  3. self.hostname = hostname
  4. self.port = port
  5. self.username = username
  6. self.password = password
  7. # 创建 ssh 连接通道
  8. self.connect()
  9. 复制代码

建立 ssh 连接通道

我们在构造函数中最后调用了一个 connect 方法建立

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/766303
推荐阅读
相关标签
  

闽ICP备14008679号