VITE前端在测试环境中显示部署时间和git提交消息

在项目开发过程中难免会有测试环境,但是测试人员总不能一直盯着前端更新哪些内容吧,而且会有前端构建不成功的情况导致测试环境不是最新的,也会误导测试人员,所以我做了个插件用来显示部署的情况 ​ 开源地址 项目是开源的, 点此进入 快速开始 npm i vite-plugin-deploy-log -D //vite.config.js import { createDeployLogPlugin } from "vite-plugin-deploy-log"; ... export default defineConfig({ plugins: [createDeployLogPlugin()], ... }) //main.js if (import.meta.env.MODE == "staging") { //仅测试环境下显示 import("vite-plugin-deploy-log").then(({ showDeployLog }) => { showDeployLog(); }); } 附加功能 //插件可选参数 interface DeployLogPlugin { /** * 输出的数据文件路径 * @default "deploy.log" */ outputPath?: string; /** * git消息输出条目数量 * @default 10 */ gitMsgCount?: number; } //调用部署日志数据接口 import { getDeployLogData } from "vite-plugin-deploy-log"; getDeployLogData().then(res => console.log(res)); //修改显示配置 showDeployLog({ base: "/admin/", path: "deploy.log", zIndex: 10000, }); 效果演示

2022年8月8日 · 1 分钟 · 诚哥博客

在服务器中下载软件的依赖包,在无网的服务器上安装依赖

在生产环境中没网部署服务是比较难受的,当然有内网源还是比较舒服的,但是内网源有些版本还是很旧,所以想安装新版还是需要网,但是一个包很多依赖关联着,总不能几十个包都手动去找去下吧?所以我想了应该能在有网的服务器上下载下来,果然在 Google 搜了下还是有很多解决方案的。 前提 准备好有网的服务器,可以用虚拟机运行相同系统的,我这里用的是 银河麒麟V10 的系统,基于 CentOS7。 准备好下载存放的文件夹 想好自己要装的依赖,这里以 qt5 为例 在有网的服务器 新建存放的文件夹 mkdir /home/qt5 下载依赖到目录下 yumdownloader --resolve --destdir=/home/qt5 qt5 打包 cd /home tar -zcvf qt5.tar.gz qt5 导出拷贝到待部署服务器 部署服务器(无网) 解压 cd /tmp tar -zxvf qt5.tar.gz 进入目录安装依赖 这里得批量安装并且得解决依赖安装缺少依赖问题等 rpm -Uvh --force --nodeps *.rpm 跑完就安装好了

2022年6月21日 · 1 分钟 · 诚哥博客

Nginx基本安全配置(防盗连、隐藏版本号、防嵌套等)

在生产环境中 nginx 有很多安全方案,我在为生产环境部署中得到很多经验,收集到的一些常用配置,简单记录一下。 安装 Nginx 正常安全 Nginx 大家应该都会,但是各位要知道在安全要求很高的生产环境中,是无网络安装的,(当然有些有内网源就简单很多了),所以要自己上传文件上去安装,缺什么依赖没法用命令安装像是 yum install 或者 apt-get install 是无法使用的,这里简单说下,等有空再详细说下无网络安装,这里简单说下。 下载编译需要的库源码 安装顺序编译安装以下库源码即可安装 Nginx openssl pcre zlib Nginx 注意 Nginx 安装的时候配置下需要的库免得到时候重新编译安装 cd nginx-1.21.6 ./configure --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-stream make make install 这样 Nginx 就算是安装好了 默认安装路径在 /usr/local/nginx 隐藏版本号 正常 Nginx 默认配置是会显示版本号的信息的如下 只需要在 Nginx 配置文件中(如 nginx.conf)的 http{} 加入以下参数即可 #隐藏版本号 server_tokens off; 然后显示就是这样的 完全不显示 Nginx 这个需要修改 Nginx 源码来实现,具体可以 Google 搜下 防止被嵌套 iframe 在 location / 下加入以下属性即可 ...

2022年6月13日 · 1 分钟 · 诚哥博客

搭建自己的远程桌面服务器RustDesk

今天发现一个高达两万星 开源项目 RustDesk, 正如名字一样,这是一个用 Rust 编程语言开发的应用,据说这是一门执行效率比 go 高的语言,希望有机会接触接触,回到正题,看到开源了自制 远程桌面服务器 立马在我香港的服务器上搭建起来,然后连接测试后,立马卸载向日葵、ToDesk。 介绍 RustDesk 支持多个平台具体可以上 官网 查看, RustDesk 远程桌面软件,开箱即用,无需任何配置。完全掌控数据,不用担心安全问题。可以使用注册/中继服务器,或者自建,亦或者开发您的版本。我也用过很多远程软件,TeamViewer、AnyDesk、向日葵、ToDesk 各有优缺点吧。但肯定都没自建的服务器快。 部署自建服务器 官方文档 安装方式多种多样,但是我还是用 docker-compose 部署比较方便,毕竟不会影响到服务器环境还能在需要的时候修改配置,官方也有提供 docker-compose.yml 配置文件 提示: 注这里包括所有通过 docker 部署的容器,我并不推荐使用 docker 命令行去运行容器,我们测试的时候可以用 docker run 去运行容器,但是如果是一直使用的 如果时间长了,你想升级版本,如果你之前改过挂载路径端口这些除非你还记得命令,不然很容易导致配置很之前不一致,导致运行后出现数据丢失等情况。推荐用 docker-compose 写配置,哪怕只有一个服务我都会用 docker-compose 去写,然后记录到个人仓库中,然后时间长了,就会收集到很多方便自己使用的 docker-compose.yml 换服务器时 只需要改改配置中的密码等就能直接使用了 获取 docker-compose 脚本 # https://github.com/rustdesk/rustdesk-server/blob/master/docker-compose.yml version: "3" networks: rustdesk-net: external: false services: hbbs: container_name: hbbs ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 image: rustdesk/rustdesk-server:latest command: hbbs -r rustdesk.example.com:21117 # 这里的rustdesk.example.com:21117替换为自己服务器的域名:端口 volumes: - ./hbbs:/root networks: - rustdesk-net depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr ports: - 21117:21117 - 21119:21119 image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./hbbr:/root networks: - rustdesk-net restart: unless-stopped 然后将文件放到服务器执行 # 同级下执行 docker-compose up -d ...

2022年5月30日 · 1 分钟 · 诚哥博客

Docker定时删除none镜像

在使用 docker 的时候会产生 none 镜像文件,偶尔没什么,但是比如使用了自动化部署工具那就不一样了,一天没准就上百个 none 镜像了,非常消耗资源,所以需要定时清理 删除 none 镜像命令 docker image prune -f 删除自动化部署中的碎片化文件 在自动化部署中 Docker 生成了很多碎片化文件,在使用 Jenkins 自动化部署项目时,生成了很多 Images 和创建的容器,这些上面的命令不足以删除,所以得用以下命令来删除 docker system prune -f 注意该命令会删除这些容器和镜像,所以最好慎重选择,当然,如果全是自动部署的容器就无所谓。 执行完后 其实这样清除缓存文件不是最完全的方式,最完全的是把空闲的 Volumes 也一并清除(不过我怕容器在启动过程中被自动执行了导致数据永久丢失,得不偿失 所以不加这个吧) docker system prune --volumes -f 配置自动化 既然知道了删除 none 镜像的命令,那么就简单了,只需要配置下 crontab 即可 crontab -e 尾部添加如下指令(表示每天 凌晨 3 点 30 分执行一次) ...

2021年12月20日 · 1 分钟 · 诚哥博客