FC的运行环境custom.debian10和fc构建流水线中默认的go版本为1.18,已经大幅落后,这里介绍下如何修改构建环境中的go版本
脚本
| 12
 3
 4
 5
 6
 7
 
 | rm -rf /usr/local/go
 
 wget https://golang.google.cn/dl/go1.23.12.linux-amd64.tar.gz
 sudo tar -C /usr/local -xzf go1.23.12.linux-amd64.tar.gz
 
 export PATH=/usr/local/go/bin:$PATH
 
 | 
只需在 pre-deploy 步骤中执行这段脚本即可
配置文件
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 
 | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 edition: 1.0.0
 name: web-framework-app
 
 
 
 access: 'undefined'
 
 vars:
 region: 'cn-hangzhou'
 service:
 name: 'demo-api'
 description: 'Serverless Devs Web Framework Service'
 
 services:
 framework:
 
 
 
 component: fc
 actions:
 pre-deploy:
 - run: |
 rm -rf /usr/local/go
 wget https://golang.google.cn/dl/go1.23.12.linux-amd64.tar.gz
 sudo tar -C /usr/local -xzf go1.23.12.linux-amd64.tar.gz
 export PATH=/usr/local/go/bin:$PATH
 go version
 go mod tidy
 GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go
 path: ./code
 props:
 region: ${vars.region}
 service: ${vars.service}
 function:
 name: 'demo-function'
 description: 'Serverless Devs Web Framework Function'
 codeUri: ./code
 runtime: custom.debian10
 memorySize: 1024
 timeout: 30
 instanceConcurrency: 100
 caPort: 8080
 customRuntimeConfig:
 command:
 - '/code/main'
 triggers:
 - name: httpTrigger
 type: http
 config:
 authType: anonymous
 methods:
 - GET
 - POST
 - PUT
 - DELETE
 - HEAD
 - OPTIONS
 customDomains:
 - domainName: auto
 protocol: HTTP
 routeConfigs:
 - path: /*
 
 | 
参考