host static site on netlify

5 minute read

可能是后知后觉,但是越来越多人向我推荐过Netlify,说是比Github pages要好用,而我也一直是github pages的忠实用户,所以就决定试一试Netlify.

什么是Netlify

做了一下功课 Netlify 是一个新式的网站托管平台。在Netfliy的世界观中,网站只需要是一个静态网站, 而一些动态网站才能做的东西, 比如表单,评论,用户登陆,流量分析等,可以用各种managed services,甚至 serverless funtions来实现。 这其实也确实是如今网站发展的一个趋势。 记得很早在使用 GitHub Pages,我们就已经开始使用 Disqus 或者 Discourse 来取代评论功能了。 再比如现在很少有网站自己做支付了,很多都是使用已有的服务。当我们把这些动态功能一一剥离出去的时候,你也许就会发现,我们其实只需要一个静态网站。

从静态网站的源代码到一个运行的网站,中间还有很多步骤,而Netlify想帮你全部省掉

  • 静态网站的生产和构建,这是 contiuous deployment的概念
  • global CDN加速静态资源
  • 添加自定义域名,自动启用HTTPS
  • 动态功能: lambda 函数, 表单, 用户, 大体积媒体文件等

类似产品

Github pages

Github pages这个服务在Github中已经存在很久了而且相当克制,我觉得它对程序员非常友好,很适合做single page 产品/项目展示,文档网站,技术博客。但是它也有一些限制,比如 Github pages 在 hosting 上很薄弱,没有动态的功能, 持续部署需要依赖第三方。

Amazon Amplify

比Netlify更ambitious, 因为Amplify目标是网站和移动app。 而且由于一票AWS的服务在那里,包括Lambda,这样一个web程序不需要强调说从一个静态网站出发,而是真的能做到从any source code出发,分分钟给你build一个网站或者移动app出来。Amplify应该能轻易的提供更多动态功能,光是其网站上就罗列的就很多很多: 分析,API,鉴权,存储,Bot, PubSub,Notification, AR/VR, Cache, i18n, logger, service workder等等。 或许下一次我就会尝试一下Amplify。

部署网站到 Netlify

步骤非常简单

  1. 授权给Netlify让其可以接入对应的Github repo。
  2. 提供build的设置,因为我在用Hugo给校友会弄一个网站,所以就是Hugo的build设置
  3. Netlify会给你提供一个随机的二级域名,这个二级域名你还是可以自定义的。 当然你可以绑定自己的域名,只需要将域名的DNS设置一下,或者对应的record指向Netlify即可。

无需担忧更多,你的每一个commit都会触发新的build。

Reference