返回
GitHub Actions,助力前端自动化打包、部署
前端
2024-01-17 07:10:15
1. 前言
作为一名前端菜鸡,服务器小白,刚开始在Linux服务器上部署网站时,前端代码我一般都是打包后手动FTP传上去,后端代码直接在vscode中使用SSH连接服务器,直接同步代码更改。
虽然这样的方式也可以实现网站的部署,但是随着项目越来越大,代码越来越多,手动打包、部署的方式就显得非常繁琐和低效了。
为了解决这个问题,我开始寻找一种能够实现代码提交的自动化工作流,要依靠持续集成(CI)(或者加上持续交付(CD))服务。
现在主流的公用CI/CD服务有:
- Jenkins
- Travis CI
- CircleCI
这些服务都可以帮助我们实现代码提交的自动化工作流,但是它们都有一定的学习成本和使用门槛。
对于前端开发人员来说,GitHub Actions是一个非常不错的选择。
GitHub Actions是一个由GitHub官方提供的CI/CD服务,它可以帮助我们轻松实现代码提交的自动化工作流。
GitHub Actions的使用非常简单,只需要在项目中创建一个.github/workflows
目录,然后在该目录下创建一个.yml
文件,就可以定义一个工作流了。
2. 使用GitHub Actions实现前端自动化打包、部署
2.1 创建GitHub Actions工作流
首先,在项目中创建一个.github/workflows
目录,然后在该目录下创建一个.yml
文件,就可以定义一个工作流了。
name: CI/CD
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: npm install
- name: Build the app
run: npm run build
- name: Deploy the app
uses: actions/upload-artifact@v3
with:
name: build-artifacts
path: build
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: build-artifacts
path: build
- name: Deploy the app
run: |
scp -r build user@example.com:/var/www/html
2.2 工作流详解
在这个工作流中,我们定义了两个任务:
build
任务:负责构建前端代码,并将构建后的代码上传为构建工件(artifact)。deploy
任务:负责将构建工件部署到服务器上。
build
任务中,我们使用了以下步骤:
- 使用
actions/checkout@v3
将代码检出到工作空间。 - 使用
actions/setup-node@v3
安装Node.js。 - 使用
npm install
安装依赖项。 - 使用
npm run build
构建前端代码。 - 使用
actions/upload-artifact@v3
将构建后的代码上传为构建工件。
deploy
任务中,我们使用了以下步骤:
- 使用
actions/download-artifact@v3
下载构建工件。 - 使用
scp
命令将构建工件部署到服务器上。
3. 结语
通过使用GitHub Actions,我们可以轻松实现前端自动化打包、部署,从而提高前端开发效率,节省更多时间。
我希望这篇文章能够对你有帮助,如果你有任何问题,欢迎在下方留言。