我想测试/自动化一些存储库,基本流程类似于:
repos := []string{"repo 1", "repo 2", ...}
for r := range repos {
// git clone the repo
// cd repo dir
// make test
// make build
// ...
}
我有这样GO使用 os.exec调用所有的一系列命令,是这样的:
exec.Command("sh", "-c", "git clone project")
到目前为止一切顺利,但我想知道是否有一种方法可以保护/防止 Makefile 上的某些错误写入可能会做类似rm -rf /. 并打破我的主机。
基本上我想使用系统库/工具,但限制/chroot 只输出到特定的workdir,这样我就可以避免为此预先构建一个 chroot。
一个可行的解决方案是使用FreeBSD jail,但我想知道是否有替代/安全的方法来做到这一点,而无需容器、虚拟机等;并使用基本的 Mac OS X 工作站。这样任何人都可以“安全地”运行和测试而无需担心。
有任何想法吗 ?
杨__羊羊
相关分类