惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
Cisco Talos Blog
Cisco Talos Blog
MongoDB | Blog
MongoDB | Blog
IT之家
IT之家
N
News and Events Feed by Topic
博客园 - 叶小钗
Help Net Security
Help Net Security
美团技术团队
Attack and Defense Labs
Attack and Defense Labs
雷峰网
雷峰网
S
Security @ Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
T
The Blog of Author Tim Ferriss
Security Latest
Security Latest
Last Week in AI
Last Week in AI
S
Secure Thoughts
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
N
News and Events Feed by Topic
A
Arctic Wolf
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
S
SegmentFault 最新的问题
罗磊的独立博客
Vercel News
Vercel News
D
DataBreaches.Net
博客园 - 聂微东
P
Palo Alto Networks Blog
N
News | PayPal Newsroom
GbyAI
GbyAI
B
Blog
A
About on SuperTechFans
PCI Perspectives
PCI Perspectives
S
Schneier on Security
Apple Machine Learning Research
Apple Machine Learning Research
I
InfoQ
The GitHub Blog
The GitHub Blog
P
Privacy International News Feed
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
T
The Exploit Database - CXSecurity.com
V
Vulnerabilities – Threatpost
aimingoo的专栏
aimingoo的专栏
Google DeepMind News
Google DeepMind News

山岳库博

自建虚拟局域网实现文明六稳定联机 追光者 快手面经(二〇二四年五月九日) 一文搞懂伪代码 2023 级新生周赛第二周题解 Swpp Backends 官方文档 Butterfly 友链魔改教程 在 MavenCentral 上发布你的项目 控制台游戏引擎开发文档 MI——高级合成表模块 人狼羊菜过河详细题解 蓝桥杯 2023 训练四 Java 全解 蓝桥杯 2023 训练三 Java 全解 蓝桥杯 2023 训练二 Java 全解 小白也能用的 SW 构建插件 MI—电力系统工作原理 MI文档——自动化GUI绘制 给博客添加追番页面 网站加载速度优化方案总结 给博客添加自定义的通知悬浮窗
全自动博客部署方案
空梦 · 2023-01-06 · via 山岳库博

全自动博客部署方案

发表于更新于

字数总计815阅读时长2分钟阅读量

前言

  Netlify 本身是支持 GitHub 上传后自动构建的,但是每次构建完毕后都需要到 CDN 手动刷新缓存,这着实是一件麻烦事。

  所以我便想到了使用 CDN 提供的 API 完成自动刷新缓存,那么如何调用 API 呢?答案就是通过 Netlify 的 Functions 完成自动化。

教程

  我们假设读者在阅读本篇时,已经在 Netlify 上部署了网站,如果不会部署,可以见:《从零开始搭建博客》

  首先,我们需要确定你使用的 CDN 是否支持 API 调用,如果支持的话,打开 CDN 的官网就能找到相关的文档。

  首先,我们需要在博客的根目录中创建 Netlify functions,默认的目录是:[root]\netlify\functions\(你也可以在 Netlify 中自定义目录),在这个目录下创建一个名为deploy-succeeded.js的 js 文件,然后输入以下内容:

注意:因为代码中包含您的 token 或密码等敏感信息,请妥善保存代码!
注意:因为代码中包含您的 token 或密码等敏感信息,请妥善保存代码!
注意:因为代码中包含您的 token 或密码等敏感信息,请妥善保存代码!

  首先运行指令安装需要的插件:

1
npm install cdn-refresher --save

  目前插件支持刷新多吉云、又拍云、阿里云、华为云的 CDN 缓存,按照如下格式使用即可:

1
2
3
4
5
6
7
8
9
const refresher = require('cdn-refresher')

exports.handler = () => refresher.refreshDogeCloud({
accessKey: '你的 key',
secretKey: '你可 secret',
rtype: 'path',
urls: ['https://example.com/*']
}).then(() => console.log('CDN 缓存刷新成功'))
.catch(err => console.error(err))

1
2
3
4
5
6
7
8
9
const refresher = require('cdn-refresher')

// 这个代码尚未测试是否可用,如果有小伙伴尝试了该代码请在评论区反馈一下能不能用
exports.handler = () => refresher.refreshUpyun({
username: '用户名',
password: '密码',
urls: ['https://example.com/*']
}).then(() => console.log('CDN 缓存刷新成功'))
.catch(err => console.error(err))

1
2
3
4
5
6
7
8
9
10
11
12
const refresher = require('cdn-refresher')

// 这个代码尚未测试是否可用,如果有小伙伴尝试了该代码请在评论区反馈一下能不能用
exports.handler = () => refresher.refreshAli({
accessKey: '你的 key',
accessSecret: '你的 secret',
objectType: 'Directory',
objectPaths: ['example.com/'],
// 当回源内容和源站资源对比后不一致时,是否刷新对应目录下的资源。
force: false
}).then(() => console.log('CDN 缓存刷新成功'))
.catch(err => console.error(err))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const refresher = require('cdn-refresher')

// 这个代码尚未测试是否可用,如果有小伙伴尝试了该代码请在评论区反馈一下能不能用
exports.handler = () => refresher.refreshHuawei({
// endPoint 的获取见:https://support.huaweicloud.com/api-cdn/cdn_02_0026.html#cdn_02_0026__table18327155514612
endPoint: 'cdn.myhuaweicloud.com',
// 获取 ak/sk 见: https://support.huaweicloud.com/devg-apisign/api-sign-provide-aksk.html
ak: 'xxx',
sk: 'xxx',
refreshType: 'directory',
mode: 'detect_modify_refresh',
urls: ['https://example.com/']
}).then(() => console.log('CDN 缓存刷新成功'))
.catch(err => console.error(err))

  如果你实在不会写代码,也可以在评论区留言你的 CDN 服务商名称,我有时间了会写好加在博文中。

  注意:Netlify Functions 是有免费额度的,但是只用来刷新 CDN 缓存的话一般是用不完的,详情请见 Netlify 官方文档。


创作不易,扫描下方打赏二维码支持一下吧ヾ(≧▽≦*)o

avatar

全自动博客部署方案空 梦 | 山岳库博

更新于 2023-11-01

发布于 2023-01-06