#buildpack #cargo-command #package #cloud-native #cross-compilation #cnb #libcnb

app libcnb-cargo

使用 libcnb.rs 编写的构建包管理的 Cargo 命令

25 个版本 (重大变更)

0.22.0 2024年6月18日
0.20.0 2024年4月12日
0.19.0 2024年2月23日
0.17.0 2023年12月6日
0.1.0 2021年12月8日

#103 in Cargo 插件

BSD-3-Clause

155KB
3.5K SLoC

libcnb-cargo — 最新版本 MSRV

使用 libcnb.rs 编写的构建包管理的 Cargo 命令。

安装

cargo install --locked libcnb-cargo

用法

目前,只有一个子命令:package。它允许用户以规范的方式打包他们的 Rust 构建包,并帮助进行交叉编译。

$ cargo libcnb package --help
Packages a libcnb.rs Cargo project as a Cloud Native Buildpack

Usage: cargo libcnb package [OPTIONS]

Options:
      --no-cross-compile-assistance  Disable cross-compile assistance
      --release                      Build in release mode, with optimizations
      --target <TARGET>              Build for the target triple [default: x86_64-unknown-linux-musl]
      --package-dir <PACKAGE_DIR>    Directory for packaged buildpacks, defaults to 'packaged' in Cargo workspace root
  -h, --help                         Print help

使用它很简单,在构建包的项目目录中运行 cargo libcnb package

$ cargo libcnb package
🚚 Preparing package directory...
🖥️ Gathering Cargo configuration (for x86_64-unknown-linux-musl)
🏗️ Building buildpack dependency graph...
🔀 Determining build order...
🚚 Building 1 buildpacks...
📦 [1/1] Building libcnb-examples/my-buildpack (./)
# Omitting compilation output...
    Finished dev [unoptimized] target(s) in 8.24s
Successfully wrote buildpack directory: packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack (4.09 MiB)
✨ Packaging successfully finished!

💡 To test your buildpack locally with pack, run:
pack build my-image-name \
  --buildpack packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack \
  --path /path/to/application

/Users/example/src/my-buildpack/packaged/x86_64-unknown-linux-musl/debug/libcnb-examples_my-buildpack

依赖项

~10–21MB
~304K SLoC