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

推荐订阅源

D
Docker
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
NISL@THU
NISL@THU
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
I
Intezer
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
V2EX - 技术
V2EX - 技术
Google Online Security Blog
Google Online Security Blog
L
Lohrmann on Cybersecurity
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
LINUX DO - 热门话题
S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
Recent Announcements
Recent Announcements
Security Archives - TechRepublic
Security Archives - TechRepublic
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
Kaspersky official blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Latest news
Latest news
B
Blog
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
L
LangChain Blog
GbyAI
GbyAI
Last Week in AI
Last Week in AI
S
Security Affairs
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
Security Latest
Security Latest
Vercel News
Vercel News
Y
Y Combinator Blog
G
GRAHAM CLULEY
S
Securelist
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
雷峰网
雷峰网

山岳库博

自建虚拟局域网实现文明六稳定联机 追光者 快手面经(二〇二四年五月九日) 一文搞懂伪代码 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