本文介绍如何将metinfo应用部署到函数计算。与传统的部署方法相比,您可将传统的metinfo应用一键部署至远端直接用于生产。跳过购买机器等步骤的同时,还拥有了弹性伸缩、按量付费和免运维等特性。
操作步骤
- 在目标目录中执行以下命令,初始化项目。
s init devsapp/start-metinfo -d start-metinfo
-d用于指定项目名称,本示例以项目名称start-metinfo为例,介绍如何将metinfo迁移到函数计算。
输出示例:
Serverless Awesome: https://github.com/Serverless-Devs/package-awesome
devsapp!start-metinfo@0.0.6.zip file decompression completed
please select credential alias default
Thanks for using Serverless-Devs
You could [cd /test/start-metinfo] and enjoy your serverless journey!
️ If you need help for this example, you can use [s -h] after you enter folder.
Document Star:https://github.com/Serverless-Devs/Serverless-Devs
- 执行以下命令,进入项目目录。
- 执行以下命令,部署项目。
s deploy
输出示例:
[2021-08-31T18:28:09.627] [INFO ] [S-CLI] - Start ...
devsapp!metinfo@0.0.3.zip file decompression completed
Using web framework type: nas, If you want to deploy with container, you can [s cli fc-default set web-framework container] to switch.
(node:30814) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
End of request
Deployed.
End of request
[2021-08-31T18:28:30.548] [INFO ] [FC-DEPLOY] - Using region: cn-shenzhen
[2021-08-31T18:28:30.549] [INFO ] [FC-DEPLOY] - Using access alias: default
[2021-08-31T18:28:30.549] [INFO ] [FC-DEPLOY] - Using accessKeyID: 188077086902****
[2021-08-31T18:28:30.549] [INFO ] [FC-DEPLOY] - Using accessKeySecret: KdcUEJLoGto****
Using fc deploy type: sdk, If you want to deploy with pulumi, you can [s cli fc-default set deploy-type pulumi] to switch.
[2021-08-31T18:28:31.144] [INFO ] [FC-DEPLOY] - Checking Service serverless-devs-metinfo exists
[2021-08-31T18:28:31.574] [INFO ] [FC-DEPLOY] - Setting role: AliyunFCDefaultRole
[2021-08-31T18:28:31.961] [INFO ] [RAM] - Checking Role AliyunFCDefaultRole exists
[2021-08-31T18:28:32.118] [INFO ] [RAM] - Updating role: AliyunFCDefaultRole
[2021-08-31T18:28:32.210] [INFO ] [RAM] - Checking Plicy AliyunFCDefaultRolePolicy exists
[2021-08-31T18:28:32.324] [INFO ] [FC-DEPLOY] - Using vpcConfig: auto: fc will try to generate related vpc resources automatically
[2021-08-31T18:28:33.122] [INFO ] [VPC] - Getting vpc: fc-deploy-component-generated-vpc-cn-shenzhen
[2021-08-31T18:28:33.215] [INFO ] [VPC] - Getting vswitch: fc-deploy-component-generated-vswitch-cn-shenzhen
[2021-08-31T18:28:33.375] [INFO ] [VPC] - Getting securityGroup: fc-deploy-component-generated-securityGroup-cn-shenzhen
[2021-08-31T18:28:33.550] [INFO ] [FC-DEPLOY] - Generated vpcConfig:
securityGroupId: sg-wz92ctigpi221smc****
vSwitchId: vsw-wz9qnuult4q5g4f7n****
vpcId: vpc-wz9x9bzs0wtvjgt6n****
[2021-08-31T18:28:33.551] [INFO ] [FC-DEPLOY] - Using nasConfig: auto: fc will try to generate related nas file system automatically
[2021-08-31T18:28:59.778] [INFO ] [FC-DEPLOY] - Generated nasConfig:
groupId: 10003
mountPoints:
- fcDir: /mnt/auto
nasDir: /serverless-devs-metinfo
serverAddr: example.com
userId: 10003
[2021-08-31T18:28:59.780] [INFO ] [FC-DEPLOY] - Checking Function metinfo exists
[2021-08-31T18:28:59.921] [WARN ] [FC-DEPLOY] - Image registry.cn-shenzhen.aliyuncs.com/web-framework/php7:0.0.3 dose not exist locally.
Maybe you need to run 's build' first if it dose not exist remotely.
[2021-08-31T18:28:59.929] [INFO ] [FC-DEPLOY] - Checking Trigger serverless-devs-metinfo exists
[2021-08-31T18:29:00.064] [INFO ] [FC-DEPLOY] - Checking Trigger serverless-devs-metinfo exists
[2021-08-31T18:29:00.203] [INFO ] [FC-DEPLOY] - Creating service: serverless-devs-metinfo
[2021-08-31T18:29:00.203] [INFO ] [FC-DEPLOY] - Creating function: metinfo
[2021-08-31T18:29:00.203] [INFO ] [FC-DEPLOY] - Creating triggers: ["serverless-devs-metinfo"]
Make service serverless-devs-metinfo success.
Make function serverless-devs-metinfo/metinfo success.
Make trigger serverless-devs-metinfo/metinfo/serverless-devs-metinfo success.
[2021-08-31T18:29:03.133] [INFO ] [FC-DEPLOY] - Checking Service serverless-devs-metinfo exists
[2021-08-31T18:29:03.233] [INFO ] [FC-DEPLOY] - Checking Function metinfo exists
[2021-08-31T18:29:03.436] [INFO ] [FC-DEPLOY] - Checking Trigger serverless-devs-metinfo exists
[2021-08-31T18:29:03.710] [INFO ] [FC-DEPLOY] - Creating custom domain: metinfo.serverless-devs-metinfo.188077086902****.cn-shenzhen.fc.devsapp.net
[2021-08-31T18:29:04.569] [INFO ] [FC-DOMAIN] - Creating custom domain: metinfo.serverless-devs-metinfo.188077086902****.cn-shenzhen.fc.devsapp.net
There is auto config in the service: serverless-devs-metinfo
[2021-08-31T18:29:05.092] [INFO ] [WEB-FRAMEWORK] - nas component get src is: ./code
Packing ...
Package complete.
Start uploading file: /mnt/2bfb748534-tpm20-cn-shenzhen/serverless-devs-metinfo/metinfo/code.zip
File uploaded successfully: /mnt/2bfb748534-tpm20-cn-shenzhen/serverless-devs-metinfo/metinfo/code.zip
upload done
[2021-08-31T18:30:30.499] [INFO ] [FC-NAS] - unzipping file
[2021-08-31T18:30:37.252] [INFO ] [FC-NAS] - unzip done
Try container acceleration
framework-test:
region: cn-shenzhen
serviceName: serverless-devs-metinfo
functionName: metinfo
customDomains:
- >-
http://metinfo.serverless-devs-metinfo.188077086902****.cn-shenzhen.fc.devsapp.net
执行结果
成功部署该项目后,您可以在执行输出中查看到函数计算生成的临时域名,通过该临时域名可以访问刚部署的应用,例如执行以下命令访问应用:
curl http://metinfo.serverless-devs-metinfo.188077086902****.cn-shenzhen.fc.devsapp.net
说明 临时域名仅用作演示以及开发,具有时效性。如需用作生产,请绑定已经在阿里云备案的域名。详细信息,请参见
绑定自定义域名。