栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

GitHub Actions 部署前端项目

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GitHub Actions 部署前端项目

我要部署一个项目,我大喊!!

怎么做?

先把代码 npm run build,把生成的 dist 拿来,登录服务器,到指定目录页面,打开 ftp,手动上传 dist 中的文件

其中你要开启你的 nginx 服务

你每一次想部署项目,就要先在本地打包,然后登录服务器,再打开 ftp 服务,再手动上传,这一来一回太麻烦,而且这种情况不利于多人开发,依赖的环境也许受操作系统的影响等等

总之,这不便于开发者以及不科学

我们需要持续集成

在公司中我们可以搭建 GitLab 亦或是 用 Jenkins,但是对个人,独立开发者或者只有五人以下的小公司来说,有什么可以帮我们实现自动化工作流的呢?

Github 推出了 Github Actions

GitHub Actions 是什么

GitHub Actions 是 GitHub 的持续集成服务,于 2018 年 10 月推出。

持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions

GitHub 做了一个官方市场,可以搜索到他人提交的 actions。另外,还有一个 awesome actions 的仓库,也可以找到不少 action。

基本概念

GitHub Actions 有一些自己的术语。

(1)workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。

(2)job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。

(3)step(步骤):每个 job 由多个 step 构成,一步步完成。

(4)action (动作):每个 step 可以依次执行一个或多个命令(action)。

具体可以前往 阮一峰的这篇 GitHub Actions 入门教程 了解一二

实操

我们的目的,通过 Github Action 把一个单页面应用部署到 云服务器上

具体可参考 使用 Github Action 部署项目到云服务器 中的操作,我讲讲在使用这位大哥写的 SFTP-Deploy-Action@v1.0 action 时遇到的坑

常见问题:

首先遇到 Load key "../private_key.pem": invalid format 的错误。

解决方案 ssh-keygen -m PEM 生成 新 key

我遇到类似的问题,以为要更新我的私钥,后来发现不是,是因为我的私钥是 openssh,改成 rsa 就没报这个错误了

错误二:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

免登录问题

具体步骤较多,简单来说,就是 .ssh 文件下新建一个 authorized_keys 文件,将公钥放到其中

并去 /etc/ssh/sshd_config 中修改一些配置,实现免登录

这里不细讲,具体可以 Google 查一下

错误三:
Warning: Permanently added '_**' (ECDSA) to the list of known hosts.
sftp> put -r ./build/_ /home/johan/www/react-app
Multiple paths match, but destination "/home/johan/www/react-app" is not a directory 

文件路径不对

错误四:
Couldn't canonicalize: No such file or directory
Unable to canonicalize path "/home/johan/www/react-app/static" 

找不到 static 文件,新生成的 static 文件不能放入项目中,那就新建一个

去项目目录下 mkdir static

再编译,成功

附上 Github 地址:React-Deploy

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号