前端项目添加 打包脚本 部署脚本 生成改动日志脚本
打包脚本
在 package.json
添加
1 | // .. |
然后运行 npm run bz
就能直接打开打包好的zip包目录
部署脚本
首先需要目标服务器运行sshd服务,然后添加部署脚本来执行
类unix系统安装sshd服务
懂得都懂 不懂Google
对于Windows需要安装、启动sshd服务,参考这个: 安装适用于 Windows 的 OpenSSH,安装截图
设置-系统-可选功能 搜索ssh 添加 openssh服务器
然后启动服务
测试一下 ssh 用户名@ip
能连上就好了
在 package.json
添加
1 | "bscp": "npm run build && scp -r dist rst@10.50.16.81:\\E:/LMS/nginx/html/admin", |
把 服务器的 用户@地址:路径
修改一下就可以了
运行 npm run bscp
就会打包 上传文件夹到对应服务器 可能需要输入服务器密码
PS:首次连接输入yes就好了
1 | # .. |
对于Windows服务器 jenkins的部分自动化部署
安装配置完Jenkins后自动添加一步部署dist文件夹到Windows服务器上
Jenkins的docker需要一个sshpass的工具,可以docker(ubuntu)宿主机(ubuntu)安装了拷进去 参考这个 How to pass password to scp?
添加部署脚本运行:
1 | pipeline { |
params.server
作为Choice Parameter,参数参考:
1 | 10.50.16.81:E:/XXX/nginx/html/admin |
不用sshpass,别的思路就是用公钥和私钥,在Windows上 C:\Users\<用户名>\.ssh\authorized_keys
文件里追加docker中的公钥文件内容,需要进Jenkins docker生成,一般会在/root/.ssh/id_rsa.pub
这样,但是docker重启会销毁,不过sshpass也是
当然Windows的ssh公钥还有一个需要注意就是在C:\ProgramData\ssh\sshd_config
中删除最后2行,参考这个SSH免密登录(公钥登录)到win10(解决authorized_keys无效的问题):
1 | Match Group administrators |
然后重启ssh服务
生成改动日志脚本
前端项目根据git提交记录自动生成 CHANGELOG.md
自动打包压缩重命名,简化项目开发流程
配置
首先需要全局安装conventional-changelog-cli
安装指令:
1 | npm install -g conventional-changelog-cli |
配置 package.json
:
1 | "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", |
工作流程
- 提交更改
- 修改
package.json
文件中的version
值 - 执行
package.json
文件中的changelog
脚本 - 提交
package.json
和CHANGELOG.md
文件 - 打标签
- push到远程仓库
使用脚本
执行 npm run changelog
, 会在根目录生成或者追加更改日志到 CHANGELOG.md
文件
执行 bz
, 会执行build并打包为zip压缩包路径 压缩包命名为 dist-<分支名>-<包名>-<包版本>-<年_月_日>.zip
注意⚠️ Mac自带 open
指令来打开文件夹其他系统自己想办法
参考
GitHub仓库 conventional-changelog
1 | <类型>[可选 范围]: <描述> |
基于 Angular 约定中推荐的commit类型:fix:
、 feat:
、build:
、chore:
、 ci:
、docs:
、style:
、refactor:
、perf:
、test:
1 | fix: 类型 为 fix 的提交表示在代码库中修复了一个 bug(这和语义化版本中的 PATCH 相对应)。 |
1 | 主版本号.次版本号.修订号-先行版本号或版本编译信息 |
前端项目添加 打包脚本 部署脚本 生成改动日志脚本