开放构建服务:在构建期间访问互联网

Posted

技术标签:

【中文标题】开放构建服务:在构建期间访问互联网【英文标题】:Open Build Service: Access internet during built 【发布时间】:2015-11-18 18:22:14 【问题描述】:

我想使用 openSUSE 构建服务来构建 debian 包并提供了所需的文件:packageName_version.tar.gz、packageName.dsc、debian.changelog、debian.control、debian.rules。

对于构建,我使用biicode,不幸的是它不在 debian/ubuntu 软件包存储库中。可以使用他们提供的 ppa 或 bash 脚本来安装它以供下载。为此,我在 debian.rules 中有以下规则:

biicode-install:
    wget http://apt.biicode.com/install.sh
    chmod +x install.sh
    ./install.sh
    rm install.sh
    echo "Installed biicode version: "$(bii --version)
    bii setup:cpp

biicode-setup: biicode-install
    # Init project
    bii init -l
    bii find

build: build-stamp
build-stamp: biicode-setup
    dh_testdir

    # Add here commands to compile the package.
    bii cpp:configure || bii cpp:configure
    bii cpp:build
    # --- end custom part for compiling

    touch build-stamp

但是,运行 osc 构建失败

[   62s]  debian/rules build
[   62s] wget http://apt.biicode.com/install.sh
[   62s] --2015-11-18 18:16:20--  http://apt.biicode.com/install.sh
[   62s] Resolving apt.biicode.com (apt.biicode.com)... failed: Name or service not known.
[   62s] wget: unable to resolve host address `apt.biicode.com'
[   62s] make: *** [biicode-install] Error 4
[   62s] dpkg-buildpackage: error: debian/rules build gave error exit status 2

我使用许多预定义的存储库(Debian_7.0、Debian_8.0、xUbuntu_15.10、...)对其进行了测试,都遇到了同样的问题。我假设,用于构建的虚拟机没有互联网访问权限。有没有办法让它上网?

或者有没有办法将 ppa 依赖项安装到构建中?我不能在 debian.control 中使用 Build 或 Build-Depend,因为 biicode 不在默认存储库中,而只能作为 ppa 或 bash 安装脚本使用。

【问题讨论】:

【参考方案1】:

大多数构建系统(OBS、Koji)在构建期间不允许访问互联网。这是有意支持可重现的构建。当你从网上下载一些比特时,没有人能保证这些比特明天会是一样的。

您必须自己下载 install.sh 并将其添加到您的包中。

【讨论】:

以上是关于开放构建服务:在构建期间访问互联网的主要内容,如果未能解决你的问题,请参考以下文章

工业互联网平台架构方案,构建工业互联网企业数字化网络化智能化服务体系

Android 应用程序通过 *** 访问互联网

浅析如何使用Dubbo构建服务集成平台

DNS之主从服务器的构建和dig命令的使用

DNS服务器的构建

图扑数字孪生智慧公路,构建互联协同智能交通系统