关于 rust-deployable-service
rust-deployable-service 是帮助 Rust 服务从本地开发转向可重复容器或云部署的技能,涵盖配置、可复现构建、Docker 镜像和健康检查。
主要功能
- 01检查服务与部署相关文件
- 02分离构建期和运行期配置
- 03构建多阶段 Docker 镜像
- 04处理 SQLx 离线检查
- 05添加健康与就绪检查
适用场景
- 01准备 Rust 服务以进行容器部署
- 02管理部署配置与密钥
- 03使用已提交的 SQLx 元数据构建
- 04交付前验证 Docker 镜像
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lvtd-llc/ skills --skill rust-deployable-service安装后在 Claude Code 中输入/rust-deployable-service确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/configuration.mddocker-rust.mdscripts/docker-preflight.sh详细介绍
Rust 可部署服务
当 Rust 服务需要从本地开发转向可重复的容器或云端部署时,使用此技能。保持运行时配置明确、构建可复现,并让健康检查简单可靠。
核心工作流
- 检查
Cargo.toml、工作区布局、Dockerfile、.dockerignore、 配置文件、迁移文件、.sqlx/、CI 和部署文档。 - 确定二进制入口点和运行时依赖:数据库、Redis、 外部 API、TLS 根证书、静态文件、模板、迁移文件和配置。
- 分离构建时配置和运行时配置。切勿将生产密钥烘焙进镜像。
- 使用分层配置,并通过环境变量覆盖部署专用的值。
- 使用多阶段 Docker 构建,并仅将运行时二进制文件和所需资源复制到最终镜像中。
- 考虑 SQLx 查询检查。使用
SQLX_OFFLINE=true和已检入的.sqlx/元数据,或有意提供构建时数据库。 - 添加符合实际依赖情况的健康检查和就绪检查。
- 运行随附的 Docker 预检脚本,或仓库中对应的 CI 命令。
配置规则
添加配置文件、环境变量或处理密钥时,请阅读 references/configuration.md。
- 保持本地默认值易于使用,并让生产默认值更保守。
- 尽可能在绑定服务器之前,于启动时验证配置。
- 将密钥存储在环境变量或部署平台的密钥管理器中。
- 避免在处理程序或存储库深处读取环境变量。
Docker 规则
修改 Docker 构建前,请阅读 references/docker-rust.md。
- 有策略地使用依赖缓存;在可行时,避免每次修改源代码都使整个构建缓存失效。
- 如果仓库提交了
Cargo.lock,发布构建时使用--locked。 - 需要出站 HTTPS 时,包含 CA 证书。
- 只有在运行时需要时,才复制迁移文件、模板和静态资源。
- 如果部署平台支持,以非 root 用户身份运行。
验证
如果交付流程包含 Docker,请在 Rust 项目根目录运行:
path/to/rust-deployable-service/scripts/docker-preflight.sh
该脚本会构建镜像。只有设置了 RUST_DEPLOY_SMOKE_COMMAND 时才会运行冒烟命令,因为服务通常需要环境配置和基础设施才能成功启动。
参考文件
references/configuration.md:类型化配置加载、覆盖、验证和密钥管理。references/docker-rust.md:多阶段构建、SQLx 离线构建、运行时资源和镜像检查。
评论
支持 Markdown