SPA单页应用 (Vue/React) 通过GitHub Actions部署到Netlify
目标:
项目源代码放到Github私有仓库上(在个人账户和在组织账户均可);
项目代码推送到特定分支后,通过GitHub Actions自动构建并发布,并根据不同环境执行不同的打包命令;
项目部署在Netlify上,不同环境发布到Netlify的不同站点上。
步骤
在 Netlify 上的
User settings -> Applications -> OAuth -> Personal access tokens下生成一个新的access tokens。在 Netlify 上针对不同环境创建不同的站点,选择手动部署,然后进入站点配置中,在
Site configuration -> General -> Site details -> Site information拿到需要发布的站点的Site ID,注意不是Site name。在
GitHub -> Repo -> Settings -> Secrets and variables -> Actions -> New repository secret中创建配置。
| Name | Value 说明 |
|---|---|
NETLIFY_AUTH_TOKEN |
第一步创建的 access tokens |
NETLIFY_SITE_ID_TEST |
测试分支需要发布的 Site ID |
NETLIFY_SITE_ID_PROD |
生产分支需要发布的 Site ID |
在 Vue/React 项目根目录下,创建
.github/workflows/deploy.yml文件,用来配置使用Github Actions触发自动构建,示例配置文件内容如下:(注:根据自己项目的情况,选择构建的Node版本以及打包编译命令,添加更多的环境等)
1 | name: Deploy to Netlify |
- 结束,这个时候你提交代码到仓库对应分支就会自动构建并发布到对应环境的Netlify站点上了。