Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fun local start 在本地启动spring-boot应用之后无法访问 #1127

Open
litongjava opened this issue Jun 27, 2021 · 0 comments
Open

fun local start 在本地启动spring-boot应用之后无法访问 #1127

litongjava opened this issue Jun 27, 2021 · 0 comments

Comments

@litongjava
Copy link

环境概述
平台 windows 10
funcraft:3.6.23
[问题描述]
我写了一个spring-boot工程,代码如下
https://gitee.com/litongjava_admin/java-aliyun-fc-study/tree/master/spring-boot-demo
对应的template.yml如下

ROSTemplateFormatVersion: '2015-09-01'
Transform: 'Aliyun::Serverless-2018-04-03'
Resources:
  spring-boot-demo: # service name
    Type: 'Aliyun::Serverless::Service'
    Properties:
      Description: This is FC service
    spring-boot-demo: # function name
      Type: 'Aliyun::Serverless::Function'
      Properties:
        Handler: index.handler
        Runtime: custom
        CodeUri: ./
        MemorySize: 1024
        InstanceConcurrency: 5
        Timeout: 120
        
      Events:
        httpTrigger:
          Type: HTTP
          Properties:
            AuthType: ANONYMOUS
            Methods: ['GET', 'POST', 'PUT']
  Domain:
    Type: Aliyun::Serverless::CustomDomain
    Properties:
      DomainName: Auto
      Protocol: HTTP
      RouteConfig:
        Routes:
          "/*":
            ServiceName: spring-boot-demo
            FunctionName: spring-boot-demo
  

该工程一种与2个http接口,我fun deploy -y 部署到阿里云,部署成功,显示日志如下

E:\dev_workspace\java\java-study\java-aliyun-fc-study\spring-boot-demo>fun deploy -y
using template: .fun\build\artifacts\template.yml
ENOENT: no such file or directory, lstat 'E:\dev_workspace\eclipse-jee-2019-12\spring-boot-demo'

E:\dev_workspace\java\java-study\java-aliyun-fc-study\spring-boot-demo>fun deploy -y
using template: template.yml
using region: cn-shanghai
using accountId: ***********4149
using accessKeyId: ***********9Wqn
using timeout: 10

Collecting your services information, in order to caculate devlopment changes...

Resources Changes(Beta version! Only FC resources changes will be displayed):

┌──────────────────┬──────────────────────────────┬────────┬─────────────────────┐
│ Resource         │ ResourceType                 │ Action │ Property            │
├──────────────────┼──────────────────────────────┼────────┼─────────────────────┤
│                  │                              │        │ Handler             │
│                  │                              │        ├─────────────────────┤
│                  │                              │        │ Runtime             │
│                  │                              │        ├─────────────────────┤
│                  │                              │        │ CodeUri             │
│ spring-boot-demo │ Aliyun::Serverless::Function │ Add    ├─────────────────────┤
│                  │                              │        │ MemorySize          │
│                  │                              │        ├─────────────────────┤
│                  │                              │        │ InstanceConcurrency │
│                  │                              │        ├─────────────────────┤
│                  │                              │        │ Timeout             │
├──────────────────┼──────────────────────────────┼────────┼─────────────────────┤
│                  │                              │        │ AuthType            │
│ httpTrigger      │ HTTP                         │ Add    ├─────────────────────┤
│                  │                              │        │ Methods             │
└──────────────────┴──────────────────────────────┴────────┴─────────────────────┘

Waiting for service spring-boot-demo to be deployed...
        Waiting for function spring-boot-demo to be deployed...
                Waiting for packaging function spring-boot-demo code...
                The function spring-boot-demo has been packaged. A total of 5 files were compressed and the final size was 14.05 MB
                Waiting for HTTP trigger httpTrigger to be deployed...
                triggerName: httpTrigger
                methods: [ 'GET', 'POST', 'PUT' ]
                trigger httpTrigger deploy success
        function spring-boot-demo deploy success
service spring-boot-demo deploy success

Detect 'DomainName:Auto' of custom domain 'Domain'
Request a new temporary domain ...
The assigned temporary domain is http://54790713-1709155087484149.test.functioncompute.com,expired at 2021-07-07 18:45:13, limited by 1000 per day.
Waiting for custom domain Domain to be deployed...
custom domain Domain deploy success

从上面的信息可以看到,分配的临时域名是http://54790713-1709155087484149.test.functioncompute.com
然后我测试访问2个接口都成功了
image
image

接下来我要做的是从本地调试
我先是构建,显示构建成功

E:\dev_workspace\java\java-study\java-aliyun-fc-study\spring-boot-demo>fun build
using template: template.yml
start building function dependencies without docker

building spring-boot-demo/spring-boot-demo
running task: flow MavenTaskFlow
running task: MavenCompileTask
running task: MavenCopyDependencies
running task: CopyMavenArtifacts

Build Success

Built artifacts: .fun\build\artifacts
Built template: .fun\build\artifacts\template.yml

Tips for next step
======================
* Invoke Event Function: fun local invoke
* Invoke Http Function: fun local start
* Deploy Resources: fun deploy

然后我在本地启动,显示启动成功

E:\dev_workspace\java\java-study\java-aliyun-fc-study\spring-boot-demo>fun local start
using template: .fun\build\artifacts\template.yml
HttpTrigger httpTrigger of spring-boot-demo/spring-boot-demo was registered
        url: http://localhost:8000/2016-08-15/proxy/spring-boot-demo/spring-boot-demo/
        methods: [ 'GET', 'POST', 'PUT' ]
        authType: ANONYMOUS



Tips:you can also use these commands to run/debug custom domain resources:

Start with customDomain:
* fun local start Domain

Debug with customDomain:
* fun local start -d 3000 Domain

function compute app listening on port 8000!

但是本地成功后我该如何访问我spring-boot中的接口呢?
访问http://localhost:8000/2016-08-15/proxy/spring-boot-demo/spring-boot-demo/浏览器显示如下
image
同时日志显示如下

skip pulling image aliyunfc/runtime-custom:1.9.17...
sh: 1: /code/bootstrap: not found
2021/06/27 11:00:00 exit status 127
Fun Error:
/var/fc/runtime/custom/mock exited with code 126

我应该使用什么正确的方式访问我上面开发的2个接口呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant