前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不想用github action,那么如何在自己服务器上操作!

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

作者头像
废江_小江
发布2022-09-05 14:01:19
4210
发布2022-09-05 14:01:19
举报
文章被收录于专栏:总栏目

背景

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

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

方法

思路一

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

思路二

shell文件如下

代码语言:javascript
复制
#!/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文件如下

代码语言:javascript
复制
@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,那么如何在自己服务器上操作!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 方法
    • 思路一
      • 思路二
      • 最后
      • 感慨
      • ps
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档