gpt4 book ai didi

docker - 如何使用 gitlab-ci 在 docker 内构建 archlinux pkgbuild

转载 作者:行者123 更新时间:2023-12-02 04:47:50 32 4
gpt4 key购买 nike

我需要将 gitlab-ci 与 docker 结合使用,以便在每次提交时自动构建和测试 archlinux 软件包。

我的.gitlab-ci.yml:

image: pritunl/archlinux

before_script:
- pacman -Su pkgbuild-introspection --noconfirm

stages:
- build

makepkg:
script:
- makepkg --clean --rmdeps --syncdeps --noarchive --noconfirm --noprogressbar --asdeps
stage: build

一切都很好,但是当 CI 调用 makepkg 命令时,我收到此错误:

==> ERROR: Running makepkg as root is not allowed as it can cause permanent, catastrophic damage to your system.

==> ERROR: An unknown error has occurred. Exiting...

如何解决?

最佳答案

AFAIK,无法以 root 身份运行 makepkg。如果您以 root 身份运行,makepkg 可以将文件放在系统上的任何位置,而不仅仅是放在生成该包的 $pkgdir 中。这是通过使用 fakeroot 来停止的。 ,以 root 身份运行时禁用。

A fake root is simply a subdirectory within the build directory that functions and behaves as the system's root directory. In conjunction with the fakeroot program, makepkg creates a fake root directory, and installs the compiled binaries and associated files into it, with root as owner.

我建议您扩展 pritunl/archlinux 镜像并添加一个简单的用户,仅用于 makepkg 操作。

关于docker - 如何使用 gitlab-ci 在 docker 内构建 archlinux pkgbuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43655704/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com