本文介绍如何将Hacker News应用部署到函数计算。与传统的部署方法相比,您可以跳过购买机器等步骤,将传统的Hacker News应用一键部署至远端直接用于生产,并且拥有弹性伸缩、按量付费和免运维等特性。
步骤一:准备环境
您无需安装Docker,仅安装Funcraft即可,最简单的方式即直接下载可执行的二进制文件。
- 安装Funcraft。
- 执行
fun --version
检查安装是否成功。
- 配置Funcraft。
步骤二:迁移应用
- 执行以下命令将Hacker News示例项目克隆到本地。若已有Hacker News项目则跳过该步骤。
git clone https://github.com/nuxt/hackernews.git
- 执行以下命令进入刚创建的示例项目或您已有的项目。
- 执行以下命令安装依赖。
- 执行以下命令运行本地项目。
- 执行以下命令编译Hacker News项目。
- 执行
fun deploy -y
命令将项目部署至函数计算。fun deploy -y
返回结果如下。
current folder is not a fun project.
Generating /Users/XXX/Desktop/hackernews/bootstrap...
Generating template.yml...
Generate Fun project successfully!
========= Fun will use 'fun deploy' to deploy your application to Function Compute! =========
... ... ...
Fun detected that your function hackernews/hackernews sizes exceed 50M. It is recommended that using the nas service to manage your function dependencies.
? Do you want to let fun to help you automate the configuration? Yes
? We recommend using the 'NasConfig: Auto' configuration to manage your function dependencies.
Yes
... ... ...
starting upload /Users/XXX/Desktop/hackernews/node_modules to nas://hackernews/mnt/auto/node_modules/
start fun nas init...
... ... ...
trigger httpTrigger deploy success
function hackernews deploy success
service hackernews deploy success
Detect 'DomainName:Auto' of custom domain 'Domain'
Request a new temporary domain ...
The assigned temporary domain is 14942717-XXX.test.functioncompute.com,expired at 2020-04-02 13:51:57, limited by 1000 per day.
Waiting for custom domain Domain to be deployed...
custom domain Domain deploy success
您可以在以上的部署日志中看到,Funcraft检查到您的函数代码包大小超过了函数计算的限制,并进入到大依赖向导,此时您需要输入Yes或Y,Funcraft会自动帮您把函数中的第三方依赖上传至NAS。函数计算的使用限制详情请参见资源使用限制。
部署成功后,您可以在日志中看到函数计算为您生成的临时域名,通过这个临时域名您可直接访问刚部署的应用。
说明 临时域名仅用作演示以及开发,具有时效性。如需用作生产,请绑定已经在阿里云备案的域名,详情请参见
绑定自定义域名。