前一段时间将公司的一些静态网站都迁移到了阿里云的函数计算上, 然后用云效 Flow 对 git 推送事件进行监听, 自动构建并部署到不同的环境上, 并且对部分访问量比较大的网站配置了 cdn 缓存.
将配置好的仓库交给前端工程师后不久, 就不断收到来自前端工程师和运营同学的请求: 帮忙刷新一下 xxx 页面的缓存.
看来只是加上 CDN 缓存还不够, 还得在流水线运行结束的时候自动刷新一下缓存才行.
现在需求有了, 怎么去实现呢?
如果我们可以在现有的流水线结束前加上一个额外的刷新缓存的步骤就好了, 但是现在云效 Flow 自带的这些步骤中没有刷新 CDN 缓存相关的内容, 在自定义步骤中使用命令行去发起刷新 CDN 缓存的请求似乎也有些繁琐.
好在 Serverless-Devs 提供了插件系统, 允许开发者在特定的运行步骤前后增加一些自定义的功能.
现在我们就借助这个插件系统来完成自动刷新 CDN 缓存的功能.
(云效和 Serverless-Devs 都没有现成的东西可以用, 偷懒失败, 只能自己造轮子咯😂)
services: default: actions: post-deploy: - plugin: refresh-cdn-cache args: paths: https://blog.dengchao.fun/
待刷新的 URL 需要填写在 paths
参数中, 它支持单个字符串以及字符串数组:
paths: - https://blog.dengchao.fun/ - https://blog.dengchao.fun/index.html
由于我们的插件安装在 post-deploy
插槽中, 因此我们需要通过 s deploy
来进行触发.
如果配置正确的话, 你应该能看到类似这样的日志:
[17:40:26] [2022-06-08 17:40:26] [INFO] [S-CORE] - Start the after-action [17:40:26] [2022-06-08 17:40:26] [INFO] [S-CORE] - Action: refresh-cdn-cache [17:40:26] - Downloading: [/refresh-cdn-cache/zipball/0.0.13] [17:40:35] ✔ refresh-cdn-cache.zip file decompression completed [17:40:36] [2022-06-08 17:40:36] [INFO] [refresh-cdn-cache] - Thanks for using Refresh CDN Cache plugin v0.0.13 by DevDengChao. [17:40:36] [2022-06-08 17:40:36] [INFO] [refresh-cdn-cache] - Decided to use aliyun cdn cache refresher as user specified service.component with value 'devsapp/fc' [17:40:37] [2022-06-08 17:40:37] [INFO] [refresh-cdn-cache] - Refresh CDN cache success. [17:40:37] [2022-06-08 17:40:37] [INFO] [refresh-cdn-cache] - If you think my plugin helpful, please support me by star the repository https://github.com/DevDengChao/refresh-cdn-cache or buy me a coffee 💗 [17:40:37] [2022-06-08 17:40:37] [INFO] [S-CORE] - End the after-action
快按 Ctrl + F5
刷新一下页面, 看看缓存是否刷新掉了吧 🎉
原文链接:https://blog.csdn.net/XieEDeHeiShou/article/details/124756535?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165934458816782246424187%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165934458816782246424187&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-18-124756535-null-null.nonecase&utm_term=%E8%87%AA%E5%BB%BAcdn
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/6324