【问题标题】:How to implement build verification process for GPL compliance如何为 GPL 合规性实施构建验证流程
【发布时间】:2020-12-14 03:27:51
【问题描述】:

我们以二进制和源代码形式向客户提供开源库和修复。根据 GPL,我们应该提供编译脚本和对源代码的修改。
构建脚本逻辑:安装所需的包,克隆 git 存储库,应用补丁并构建它。 客户应该能够在干净的 Ubuntu 映像上执行相同的操作。

如何实现使用我们的脚本/源并运行它的验证过程?
每次验证构建时我应该使用 VM 并恢复状态吗?
我应该使用一些 docker 图像还是其他东西。

【问题讨论】:

  • @sebasth,感谢您的回答。问题是,我应该用干净的操作系统模拟新用户。脚本应该安装所有的 dep 数据包并在之后开始构建。我不知道如何模拟干净的用户环境。新虚拟机是一种繁重的方法。

标签: docker compilation


【解决方案1】:

如果您有可用的 docker,则可以使用 linux 映像和构建脚本。假设您已经拥有a working base image,您可以使用docker run 运行构建脚本,例如

docker run -i --rm --entrypoint /bin/sh mycontainer < myscript

其中mycontainer 是您的容器名称,myscript 是您的构建脚本(安装依赖项并构建您的应用程序)的路径,并且指定--rm 用于在退出后清理实例。在本例中,脚本是通过 stdin 提供的,但您可以将其包含在容器中并直接运行。

如果您使用 githubgitlab CI,您可以将自动构建添加到管道作业中,以便在 git 提交时自动运行它(例如每次更新 master 分支时)。如果你已经配置了 docker 镜像,你只需要在 CI 系统中添加一个作业。

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 2023-03-06
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    相关资源
    最近更新 更多