GitHub actions与部署至GitHub pages和部署至自己的服务器中

469 阅读2分钟

这里讲简单的写个GitHub actions脚本部署项目到GitHub pages中和部署到自己的服务器中

GitHub actions的参考可先看以便暂时了解:

juejin.cn/post/684490…,

www.ruanyifeng.com/blog/2019/0…

部署至GitHub pages

开启GitHub pages

打开自己的git仓库

pages中需要选择的分支就是GitHub pages展示的项目分支, 可以想成是打包后的文件所放的分支

将这个地址复制到项目中的package.json中并添加

"homepage": "https://yzyaz.github.io/yzy-test-action"

注: 在react脚手架中加了homepage会给打包后的项目增加路径如 类似baseUrl的功能, 如果是其他项目如vue就要考虑是否应该配置下他的baseurl以免线上找不到路径

配置GitHub actions

在项目根目录新建文件夹.github/workflows

里面新建以.yml结尾的文件夹, GitHub actions就会自动识别这种文件, 并作出对应的操作

上面就构成了个简单的配置,

1 切换分支,

2 下载并打包

3 部署至GitHub pages (用的是这个库:github.com/JamesIves/g… 配置可参照其git文档)

库变量

上面有secrets.ACCESS_TOKEN是需要部署至GitHub pages的token,

作用就是配置一些不方便暴露出去的变量, 如密码等

先将哪里写入库变量:

再讲下哪里获取这个token:docs.github.com/en/authenti…

这样就可新建个token, 将其添加到上面的secrets库变量即可

配置GitHub pages的分支

上面讲到

这里讲把他加上, actions配置中有个branch就是他会生成的分支, 这个分支即可部署到pages, 把这个分支写上即可, (写不上可以先推上去, 触发了actions成功后会有个gh-pages分支可选)

运行GitHub actions

这个不用特别的配置, 只要配置文件没问题, 我们直接推上去, 他会触发并运行,

点进去就可见我们设置的部分操作

完成后可见

\

GitHub actions的功能还有很多, 不止如此, 如测试,部署到自己的服务器等等, 这里先不讲了

部署至服务器

用这个库github.com/wlixcc/SFTP…

按照其配件即可 server是服务器ip地址, ssh_private_key是私钥, local_path是需要上传的文件, remote_path是上传到的文件夹位置(一定要有这个文件夹, 没得会报错)

================================

补充:

  1. appleboy/scp-action@master这个库上传文件可用密码也可用ssh链接(比上面个更方便)

2.如何将nextjs项目部署至服务器并启动

3.通过docker启动项目

注: 如上很多对服务器的操作都可以通过ssh-action来进行了, 包括你想直接在服务器pull代码打包或者操作docker启动容器等等都是ok的, 看个人的想法