Cake 项目使用教程
cake A sweet make wrapper 🍰 项目地址: https://gitcode.com/gh_mirrors/cake1/cake
1. 项目介绍
Cake 是一个轻量级的 make
包装器,旨在简化在开发 Docker/Podman 容器中运行 make
目标的过程。通过 Cake,用户可以在不依赖容器运行时的情况下,轻松地在容器环境中执行构建任务。Cake 的设计理念是将构建过程的单一源码(Makefile)与构建环境的单一源码(Dockerfile)分离,从而提高项目的可移植性和开发者的便利性。
2. 项目快速启动
安装 Cake
首先,确保你已经安装了 make
和 docker
或 podman
。然后,你可以通过以下步骤安装 Cake:
# 下载 Cake 脚本
curl -o cake https://raw.githubusercontent.com/cyruseuros/cake/master/cake
# 赋予执行权限
chmod +x cake
# 将 Cake 添加到 PATH 中
sudo mv cake /usr/local/bin/
使用 Cake
假设你有一个项目,其目录结构如下:
my_project/
├── Dockerfile
├── Makefile
└── src/
└── main.c
在 Makefile
中,你可能有以下内容:
all: build
build:
gcc -o my_program src/main.c
使用 Cake 运行 make
目标:
cake all
Cake 会自动使用当前目录下的 Dockerfile
创建一个容器,并在容器中执行 make all
命令。
自定义 Docker 参数
如果你需要传递额外的 Docker 参数,可以使用环境变量 CAKE_RUNTIME_ARGS
:
CAKE_RUNTIME_ARGS="--network=host" cake all
3. 应用案例和最佳实践
多环境构建
假设你需要在多个不同的环境中构建项目,可以在项目根目录下创建多个 Dockerfile
,例如:
my_project/
├── Dockerfile.dev
├── Dockerfile.prod
├── Makefile
└── src/
└── main.c
然后,通过设置 CAKE_DOCKERFILES
环境变量来指定要使用的 Dockerfile
:
CAKE_DOCKERFILES="Dockerfile.dev Dockerfile.prod" cake all
Cake 会为每个指定的 Dockerfile
创建一个容器,并在每个容器中执行 make all
。
调试开发容器
为了方便调试开发容器,可以在 Makefile
中添加一个 shell
目标:
shell:
/bin/sh
然后,你可以通过以下命令进入开发容器的 shell:
cake shell
4. 典型生态项目
Cake 可以与以下类型的项目结合使用,以提高开发和构建的效率:
- CI/CD 管道:Cake 可以无缝集成到 CI/CD 管道中,确保在一致的容器环境中执行构建和测试任务。
- 多语言项目:对于使用多种编程语言的项目,Cake 可以帮助管理不同语言的构建环境,确保每个环境的一致性。
- 微服务架构:在微服务架构中,Cake 可以用于管理每个服务的构建和部署过程,确保每个服务在一致的环境中运行。
通过 Cake,开发者可以专注于编写代码,而不必担心构建环境的复杂性。
cake A sweet make wrapper 🍰 项目地址: https://gitcode.com/gh_mirrors/cake1/cake