对象存储服务OSS是一种云存储服务方式,对象存储服务已经成为云存储领域的主流服务之一,各大云服务提供商都提供了对象存储服务,如Amazon S3、Microsoft Azure Blob Storage、Google Cloud Storage等。它被广泛应用于媒体存储、数据备份、大数据存储、Web应用程序等领域。
对象存储服务时,多数需要缴纳一定的费用,但多数厂商对于新用户都有免费使用的优惠,如阿里云对新用户有免费使用政策。
使用流程
- 登录OSS管理控制台。单击Bucket列表,然后选择要开通静态页面的存储空间(Bucket)名称。
- 在左侧导航栏,选择
数据管理
>静态页面
。 - 在
静态页面
,单击设置
,将默认首页
设置为index.html
,子目录首页
选择开通
,其它参数根据需要设置。 - 使用合适的OSS管理工具(页面、图形或者命令行工具)上传静态页面到存储空间。
- 使用自定义域名或者默认域名访问首页。如果显示页面内容,即为成功。
如何自动上传文件
- 使用脚本配合命令行工具。例如:
./ossutil64.exe sync g:/Users/yangjh/Desktop/repos/ oss://boos-yangjh/repos/ -u -j 200
- 使用Github Actions配合命令行工具实现自动上传
使用 Github Actions 配合命令行工具实现自动上传
使用OSS的静态页面托管服务时,需要人工或借助代码将文件复制或更新到存储空间,大多数情况下,不是很方便。因此,可借助于Github Actions服务,实现内容修改后自动化部署到OSS。
原理图如下:
flowchart LR
A[本地内容] -- Git push --> B[Github 仓库] -- Github Actions --> C[OSS]
Actions的脚本可参考下面内容:
yml
name: deploy to aliyun oss
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
# 获取最新代码
- uses: actions/checkout@v1
# 设置阿里云OSS的 id/secret,存储到 github 的 secrets 中
- name: setup aliyun oss
uses: manyuanrong/setup-ossutil@master
with:
endpoint: oss-ap-southeast-1.aliyuncs.com
access-key-id: ${{ secrets.OSS_KEY_ID }}
access-key-secret: ${{ secrets.OSS_KEY_SECRET }}
# 同步静态文件到aliyun OSS
- name: cp files to aliyun
run: ossutil sync website/docs/ oss://yangzh-cn/ -u --delete
这样,用户将内容推送到Github的仓库时,可出发Github Action运行指定脚本,进而实现自动化部署。