最近手痒痒的,陷入了自毁的死循环。其实事情是这样的。最近阿里云搞活动(嗯,友情广告),229买了3年版的低端服务器;写前端的时候用React+GithubGraphqlAPI自定义你的博客,也见识过GithubAction的强大,所以尝试创建自己的前端构建和部署工作流;可能你见过很多大厂的前端自动化构建部署,但很少去尝试过。你今天可以自己做,让我们开始吧。从工作流程来看,流程定制后的GithubAction工作流程是这样的:name:Deploystaticsourcetomyserveron:push:branches:-masterjobs:build:runs-on:ubuntu-lateststeps:-name:checkoutuses:actions/checkout@v1-name:buildrun:npminstall&&npmrunpub-name:deploy使用:closertb/deploy-static-action@masterwith:name:'doddle'token:${{secrets.Deploy_Token}}requestUrl:'http://114.55.38.249:8080/operate/deploy'dist:'dist'target:'adminManage'大致流程如下:监控master分支的推送操作;checkout:新建一个构建分支build:依赖安装,打包构建deploy:将上一步的构建产物打包部署到你服务器的静态资源文件中。overdeployment的实现思路很简单,就是打包。有很多这样的工具,例如script-build、roadhog或自定义webpack。这里主要讲一下部署;其实部署也很简单,看图:好了,部署也完成了。详细实现过程看我的自定义action:deploy-static-action关于上面的构造参数:name:一个名字,随便你怎么用,根据你的需要token:这个比较重要,服务器的通关密码.这里最好的办法是通过项目的secrets来设置dist:构建打包后的文件夹名,构建产物会根据这个文件夹名来获取,默认是disttarget:静态资源的目标文件夹名,默认是distrequestUrl:关于上传服务器deploy-static-action的部署API实际上只在部署期间收集构建产品。真正的部署其实是通过requestUrl实现的,所以必须实现http://114.55.38.249:8080/operate/deploy这个服务也很重要,可以复用我的deploy-static-action,但是部署API不行,因为这个API是为我的服务器私人定制的。不过我可以提供示例代码参考:参考代码,deploy.js构建效果图见原文:https://github.com/closertb/closertb.github.io/issues/37
