zl程序教程

您现在的位置是:首页 >  工具

当前栏目

不想用github action,那么如何在自己服务器上操作!

GitHub服务器 如何 操作 自己 那么 Action 不想
2023-06-13 09:11:58 时间

背景

事件起因就是一个我的读书笔记项目了,这里欢迎大家来访问的我的读书笔记!书籍笔记

因为这个项目基于vuepress驱动,是一个静态项目,因此,最好的方法就是github action集成在git时候自动触发然后帮我们自动部署打包项目发布;但是这有一个缺点,那就是github page页面有时访问速度是很慢的,特别是放了很多静态资源的页面。那么?有啥子比较好的办法么?必须有

方法

思路一

可以考虑用git的钩子实现。大概逻辑是:提交代码到git,git打标签的时候触发钩子从而打包、部署。这样子做坏处是服务器要安装gitlab(钩子嘛),maven。然后gitlab占用内存其实是很大的,最少也是4g起步,一般个人服务器也就是4g,所以不太可行

思路二

shell文件如下

#!/usr/bin/env sh
 
# 确保脚本抛出遇到的错误
set -e
 
# 生成静态文件
npm run build
 
# 进入生成的文件夹
cd docs/.vuepress/dist
 
# deploy to github
echo 'booknote.jiangkk.com' > CNAME
 
# 判断本地是否有token变量,有则是github自动部署 没有则是本地推送到仓库
if [ -z "$GITHUB_TOKEN" ]; then
  msg='deploy'
  githubUrl=git@github.com:feijiang00/code-learn.git
else
  msg='来自github actions的自动部署'
  githubUrl=https://feijiang00:${GITHUB_TOKEN}@github.com/feijiang00/booknote.git
  git config --global user.name "feijiang00"
  git config --global user.email "postmaster@jiangkk.top"
fi
git init
git add -A
git commit -m "${msg}"
git push -f $githubUrl master:gh-pages # 推送到github
 
cd - # 退回开始所在目录
rm -rf docs/.vuepress/dist

bat文件如下

@echo off
 
set localPath=D:\demo.txt
set host=--
set prot=21
set username=--
set password=--
set remotePath=/temp/
 
echo open %host% %prot%>>temp.txt
echo %username%>>temp.txt
echo %password%>>temp.txt
echo cd %remotePath%>temp.txt
echo binary>>temp.txt
echo put %localPath%>>temp.txt
echo bye>>temp.txt
ftp -n -s:temp.txt
 
pause

然后windows设置定时任务即可定时运行这两个脚本文件,完成自动打包上传到linux服务器,别忘记了linux上要开启ftp服务。因为上传的是文件夹dist.zip,因此需要解析到negix目录下,这里linux服务器上写一个定时解压的脚本即可。

最后

最后,我们只需要本地编辑md文件,然后自动化帮助我们自动更新打包部署,针对静态网站的好处是,其除了打开快,还有就是并发支持高,nginx的并发是几十万,我们服务器的带宽是触碰不到这个层面的,因此这里影响并发最大的因素就是服务器的带宽和内存。

感慨

差不多半年没有更新博客,上次还是实习的时候,后续我也重新换了家公司,这已经是入职的第二个月了;后面可能我安卓接触的比较多,会多更新一些安卓方面的知识,冲冲冲,兄弟们

ps

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=frng879nago3

废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:不想用github action,那么如何在自己服务器上操作!