September 28, 2026
用于 Fn Project 的命令行工具,支持函数初始化、部署、调用及 OCI Functions 配置管理。
```sh
# MacOS
brew update && brew install fn
# Linux/Unix/MacOS
curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh
``````sh
# 初始化一个 Go 函数
fn init --runtime go hello
# 创建带有预置并发的函数
fn create function <app-name> <function-name> <image> --provisioned-concurrency constant:40
# 监控本地目录并自动部署
fn watch --app <app>
```Product facts
- Type
- CLI / Terminal
- Category
- Development & Engineering › Cloud Infrastructure
- Pricing
- Open source
- License
- Apache-2.0
- Launched
- Sep 28, 2026
- Listed
- Sep 28, 2026
- Website
- github.com
Overview
Fn CLI 是 Fn Project 的官方命令行工具,使用 Go 语言编写,采用 Apache-2.0 协议开源。它为开发者提供了一套完整的命令来管理 Serverless 函数的生命周期,包括初始化、创建、更新、部署和调用。 除了基础的函数操作,Fn CLI 还深度集成了 Oracle Cloud Infrastructure (OCI) Functions 的配置能力。开发者可以通过命令行参数或 `func.yaml` 文件设置预置并发(Provisioned Concurrency)、分离式/长时间运行函数(Detached Mode)以及应用网络子网等属性。同时,它支持为应用和函数添加、更新或移除 freeform tags 与 defined tags。 该工具还支持 Pre-Built Function (PBF),允许用户列出、搜索 PBF,并直接基于 PBF listing OCID 创建和部署函数,在此过程中会自动跳过镜像构建与推送流程。此外,`fn watch` 命令可以监控本地目录的文件变化,并在文件修改时自动将函数重新部署到本地 Fn 服务器,默认忽略 `.git`、`node_modules` 等目录,也支持通过 `.fnignore` 文件自定义忽略规则。 适合使用 Fn Project 或 OCI Functions 进行 Serverless 开发的工程师在日常工作流中使用。
Key features
- 函数生命周期管理:通过 fn init、create、update、deploy 等命令完成函数的初始化、创建、更新与部署。
- OCI 预置并发配置:使用 --provisioned-concurrency 参数为 OCI Functions 设置预置并发策略。
- 分离式函数支持:通过 --detached-timeout、--on-success 等参数配置长时间运行的分离式函数及其回调目标。
- 应用子网配置:在创建 OCI Functions 应用时,通过 --subnet-id 指定子网 OCID。
- 资源标签管理:支持通过 --tag 和 --defined-tag 添加标签,并提供移除和清除标签的命令。
- Pre-Built Function 支持:可列出、搜索 PBF,并直接使用 PBF listing OCID 创建和部署函数,跳过镜像构建流程。
- 分离式调用:使用 fn invoke detached 以分离模式调用函数,支持 dry run 和 intent header。
- 本地自动部署监控:fn watch 命令监控目录变化,文件修改时自动触发本地 Fn 服务器的重新部署。
- 自定义忽略规则:支持通过 .fnignore 文件或 --ignore 参数为 fn watch 添加额外的路径忽略规则。
Releases
Notify meQ&A
- 如何安装 Fn CLI?AI-generated
- 在 MacOS 上可以使用 Homebrew:`brew update && brew install fn`。在 Linux、Unix 或 MacOS 上也可以使用 curl 脚本安装:`curl -LSs https://raw.githubusercontent.com/fnproject/cli/master/install | sh`。
- 如何将 OCI Functions 的配置持久化?AI-generated
- 可以在 `fn init` 时使用相关 OCI 参数(如 `--provisioned-concurrency`),这些设置会被脚手架生成并持久化保存在 `func.yaml` 文件中,后续可通过 `fn deploy` 应用。
- 使用 PBF 创建函数时有什么限制?AI-generated
- `--image` 和 `--pbf` 参数是互斥的。当使用 `--pbf` 时,镜像位置参数是可选的。如果手动指定了 `--memory`,其值必须大于或等于当前 PBF 版本所需的最低内存要求。
- fn watch 默认会忽略哪些目录?AI-generated
- 默认忽略 `.git`、`.fn`、`node_modules`、`target`、`dist`、`vendor` 以及匹配 `Dockerfile-fn-tmp*` 的路径。
- 在非 Oracle 环境下使用 OCI 专属参数会怎样?AI-generated
- 当 OCI 专属 flags 与非 Oracle provider 或本地 Fn server 工作流一起使用时,Fn CLI 会接受这些参数,但在设置不适用的地方会输出用户友好的警告信息。
This product has no owner yet
It was listed by the platform or its author left. If it is your work, prove your relationship to become the owner.
Claim this product

