Azure Static Web App通过Pipelines自动部署Hugo站点
Azure Static Web App免费套餐配置为500MB空间,100GB月流量。Repos代码仓库无限制,Pipelines每月1800分钟构建时长。对于个人站点来说,这个配置足够使用了。
开通Azure Static Web App
访问以下地址注册开通:
Azure Static Web App支持多个区域,国内访问建议选择东南亚区域。
开通Azure Static Web App服务的时候,可以直接选择Azure DevOps部署,这样就可以自动创建Pipelines,这里为了演示手动配置,选择了其他:
创建Repos代码仓库
注册登录Azure DevOps,创建一个仓库用于存放Hugo站点。
配置azure-pipelines.yml文件
创建一个名称为azure-pipelines.yml的文件,放在站点根目录中,内容为:
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- checkout: self
submodules: true
- task: AzureStaticWebApp@0
inputs:
app_location: 'public'
output_location: ''
skip_app_build: true
azure_static_web_apps_api_token: $(deployment_token)
创建持续集成管道
在Azure DevOps新建Pipeline,选择Azure Repos Git:
选择要部署的仓库:
选择使用Azure Pipeline配置文件(Existing Azure Pipelines YAML file):
选择之前创建好的azure-pipelines.yml配置文件:
创建环境变量
在Azure Static Web App获取令牌:
在之前创建的Pipeline处添加环境变量,点击编辑:
点击创建变量:
变量名称为:deployment_token,值填写之前获取到的Azure Static Web App令牌,然后勾选加密保存:
申请Azure DevOps Parallelism
Azure Pipelines免费配额为:
- 1 个 Microsoft 承载的免费 CI/CD;
- 1 个自承载的免费 CI/CD;
- 1 个 Microsoft 托管作业(CI/CD 每月 1,800 分钟)和 1 个自托管作业(每月无限分钟数);
- 之后每增加一个 Microsoft 托管 CI/CD 并行作业收取 $40,每增加一个自托管 CI/CD 并行作业收取 $15(无限分钟数)
在运行Pipeline时如果收到以下错误:
##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request
则需要访问以下地址申请并行数:
https://aka.ms/azpipelines-parallelism-request
填写表格后一般2-3天就申请通过了。
专注于写作
配置好一切,之后就可以专注于写作了,git命令提交站点到Azure Repos代码仓库,Pipeline自动部署到了Azure Static Web App网站就更新了。