用于 Fn Project 的命令行工具,支持函数初始化、部署、调用及 OCI Functions 配置管理。
Apache-2.0
```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>
```产品信息
- 形态
- 命令行工具
- 分类
- 开发与工程 › 云与基础设施
- 定价
- 开源
- 授权协议
- Apache-2.0
- 首发日期
- 2026年9月28日
- 收录时间
- 2026年9月28日
概览
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 开发的工程师在日常工作流中使用。
功能特性
- 函数生命周期管理:通过 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 添加额外的路径忽略规则。
版本更新
新版本提醒我Q&A
- 如何安装 Fn CLI?由 AI 生成
- 在 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 生成
- 可以在 `fn init` 时使用相关 OCI 参数(如 `--provisioned-concurrency`),这些设置会被脚手架生成并持久化保存在 `func.yaml` 文件中,后续可通过 `fn deploy` 应用。
- 使用 PBF 创建函数时有什么限制?由 AI 生成
- `--image` 和 `--pbf` 参数是互斥的。当使用 `--pbf` 时,镜像位置参数是可选的。如果手动指定了 `--memory`,其值必须大于或等于当前 PBF 版本所需的最低内存要求。
- fn watch 默认会忽略哪些目录?由 AI 生成
- 默认忽略 `.git`、`.fn`、`node_modules`、`target`、`dist`、`vendor` 以及匹配 `Dockerfile-fn-tmp*` 的路径。
- 在非 Oracle 环境下使用 OCI 专属参数会怎样?由 AI 生成
- 当 OCI 专属 flags 与非 Oracle provider 或本地 Fn server 工作流一起使用时,Fn CLI 会接受这些参数,但在设置不适用的地方会输出用户友好的警告信息。
收藏
这个产品还没有主理人
由平台收录或原作者已注销。如果它是你的作品,证明与它的关系后即可成为主理人。
认领这个产品

