Docker 如何为GPL合规性实施构建验证过程
我们以二进制和源代码的形式向客户提供开源库修复程序。根据GPL,我们应该提供编译脚本和对源代码的修改。Docker 如何为GPL合规性实施构建验证过程,docker,compilation,Docker,Compilation,我们以二进制和源代码的形式向客户提供开源库修复程序。根据GPL,我们应该提供编译脚本和对源代码的修改。 构建脚本逻辑:安装所需的软件包,克隆git存储库,应用补丁并构建它。 客户应该能够在干净的Ubuntu图像上执行同样的操作 如何实施使用我们的脚本/源并运行它的验证过程? 我是否应该在每次验证生成时使用VM并还原状态? 我应该使用一些docker映像还是其他东西。如果有docker可用,可以使用linux映像和构建脚本。假设您已经有了,您可以使用docker run运行构建脚本,例如 dock
构建脚本逻辑:安装所需的软件包,克隆git存储库,应用补丁并构建它。 客户应该能够在干净的Ubuntu图像上执行同样的操作 如何实施使用我们的脚本/源并运行它的验证过程?
我是否应该在每次验证生成时使用VM并还原状态?
我应该使用一些docker映像还是其他东西。如果有docker可用,可以使用linux映像和构建脚本。假设您已经有了,您可以使用
docker run
运行构建脚本,例如
docker run -i --rm --entrypoint /bin/sh mycontainer < myscript
docker run-i--rm--entrypoint/bin/sh mycontainer
其中,mycontainer
是您的容器名称,myscript
是您的构建脚本(安装依赖项并构建应用程序)的路径,并且指定了--rm
以在退出后清理实例。在本例中,脚本是通过stdin
提供的,但您可以将其包含在容器中并直接运行
如果使用或CI,则可以将自动生成添加到管道作业中,以便在git提交时自动运行它(例如每次更新主分支时)。如果已配置docker映像,则只需将作业添加到CI系统。@sebash,谢谢您的回答。问题是,我应该用干净的操作系统模仿新用户。脚本应该安装所有dep数据包,然后启动构建。我不知道如何模拟干净的用户环境。新VM是一个沉重的方法。