GitHub Actions + COS 静态网站部署

GitHub Actions + COS 静态网站部署

有时候一些静态网站,比如基于 Vue 的后台管理。可能没有必要说放到服务器上面,放到对象存储也是一种不错选择,方便、速度快等。

这里我们将基于 GitHub 新推出的 GitHub Actions + 腾讯云 COS 进行部署。上传到 COS 上面我们会通过 AWS S3

我们需要准备:APPIDSecretIdSecretKeyBucketRegionRegion 这里的值是 地域列表地域简称


这边为了方便,我们直接 Fork 了 vue-admin-template 来测试。

为了安全我们需要对两个密钥进行加密,当然你也可以都加密。

然后我们进入 Actions 这边,点击右上角的 Set up a workflow yourself

我们将下面代码复制进去,然后提交保存。记得里面的值自己换一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
name: Sync Deployment
on: [push]

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- run: npm install && npm run build:prod # 安装依赖,进行编译
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
AWS_S3_BUCKET: actions-cos-demo-1252156936 # 这里格式是 bucket-appid
AWS_ACCESS_KEY_ID: ${{ secrets.SecretId }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.SecretKey }}
AWS_S3_ENDPOINT: 'https://cos.ap-hongkong.myqcloud.com' # 将ap-hongkong换成自己的地域
SOURCE_DIR: dist

AWS S3 插件更多配置可以看一下:https://github.com/jakejarvis/s3-sync-action#configuration

然后我们去执行一下,或者自己 push 一下。

这边看到执行是成功的,我们去 COS 那边看一下。推荐下:COSBrowser

现在的话就是我们的 GitHub Actions 已经是可以成功跑起来了,不过还有个问题就是我们网站的访问。

需要进入到我们创建的 Bucket 设置。

注意:这里的错误文档一定要设置,不然 Vue 等项目会遇到 404 问题。相当于 nginx 的 try_files。

最后,我们访问一下这个网址。

ღ( ´・ᴗ・` )比心

往上