利用Python实现前端自动化打包部署

本文介绍了一位前端开发者如何使用Python实现前端项目的自动化打包和部署。通过Python的os和paramiko模块,实现了执行前端npm打包命令以及通过SSH连接上传文件到服务器的功能。文章详细阐述了从环境配置、难点分析到解决方案的全过程,包括执行Linux命令、递归上传文件和创建服务器文件夹等步骤。最后,作者分享了自动部署的完整流程,并提及了在部署前清空服务器目录的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为一名专职前端开发的我,为了帮助解决目前工作中的一些繁琐的工作(主要是处理 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 后续的方法我们都会在这个类里面完善
class SSHConnect:
# 定义一个私有变量,用来保存ssh连接通道,初始化为None
__transport = None
复制代码初始构造函数
我们需要在构造函数中定义我们需要的参数,初始化我们的连接

初始化构造函数(主机,用户名,密码,端口,默认22)

def init(self, hostname, username, password, port=22):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值