通过函数计算的Custom Runtime+HTTP触发器的方式,您可以将Spring Boot的Web项目一键迁移至云上,并可直接使用浏览器或者cURL等HTTP客户端工具访问函数。

前提条件

您已成功完成以下操作:

操作步骤

  1. 执行以下命令克隆示例工程到本地。
    git clone https://github.com/awesome-fc/fc-custom-demo          
    说明 如果您没有安装Git,可以直接在浏览器地址栏输入https://github.com/awesome-fc/fc-custom-demo,然后单击下载按钮直接下载示例代码。
  2. 可选:修改spring-boot-demo目录中的示例代码,实现您的业务逻辑。
  3. 执行以下命令进入克隆的示例项目中。
    1. 执行以下命令进入fc-custom-demo项目。
      cd fc-custom-demo
    2. 执行以下命令进入spring-boot-demo项目。
      cd spring-boot-demo
  4. 执行以下命令安装依赖。
    ./mvnw package
    预期输出:
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] --------------------------< com.example:demo >--------------------------
    [INFO] Building demo 0.0.1-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    ...
    [INFO]  T E S T S
    ...
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  25.332 s
    [INFO] Finished at: 2021-03-25T14:56:29+08:00
    [INFO] ------------------------------------------------------------------------
  5. 执行以下命令将项目部署到云上。
    fun deploy -y
    预期输出:
    ...
    Waiting for service springboot to be deployed...
            Waiting for function helloworld to be deployed...
                    Waiting for packaging function helloworld code...
                    The function helloworld has been packaged. A total of 3 files were compressed and the final size was 14.33 MB
                    Waiting for HTTP trigger httpTrigger to be deployed...
                    triggerName: httpTrigger
                    methods: [ 'GET', 'POST', 'PUT' ]
                    trigger httpTrigger deploy success
            function helloworld deploy success
    service springboot deploy success
    
    Detect 'DomainName:Auto' of custom domain 'my_domain'
    Request a new temporary domain ...
    The assigned temporary domain is http://********-*********.test.functioncompute.com,expired at 2021-04-04 15:09:44, limited by 1000 per day.
    Waiting for custom domain my_domain to be deployed...
    custom domain my_domain deploy success
  6. 执行以下命令调用部署的函数。
    curl http://********-*********.test.functioncompute.com
    注意
    • http://********-*********.test.functioncompute.com可以从步骤5的返回结果中获取。
    • 如果您使用的是Windows操作系统,您需要将bootstrap文件格式修改为UNIX格式。
    预期输出:
    Hello, World!