如何在隔离环境中构建 snap?

如何在隔离环境中构建 snap?

在构建 Debian 软件包时,构建器(和类似的工具)有助于在隔离环境中构建包,这样我的系统中的奇怪设置就不会导致构建问题:

pbuilder 旨在成为一个易于设置的系统,用于在洁净室环境中自动构建 Debian 软件包,以便可以验证软件包是否可以在大多数 Debian 安装上构建。洁净室环境是通过使用基本 chroot 映像实现的,因此只会在 chroot 中安装最少的软件包。

有没有与 snapcraft 相当的东西?


背景:我刚刚遇到了一些影响构建的本地问题Cassandra 的快照。我一直收到语言环境错误,但我懒得去查看,在构建过程中,javadoc由于某些文件中的 Unicode 字符而失败。使用C.UTF-8作为语言环境修复了此问题:

export LC_ALL=C.UTF-8
snapcraft

但是,我的语言环境不应该影响构建软件包、snappy 或 Debian。pbuilder 之类的东西在这里会很有用。

答案1

当然可以。snapcraft有一个“ cleanbuild”选项,它可以(默认)在 lxd 容器内本地构建,也可以远程构建(通过选项--remote)。

所以:-

在本地 lxd 中构建(需要lxd安装包,并且LXD 的网络设置):

snapcraft cleanbuild

在远程 lxd 中构建:

snapcraft cleanbuild --remote remotemachine

我跟着本指南在我的家庭服务器上设置远程构建。效果很好!

相关内容