我需要将 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 运行时被禁用。



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

10-07 16:40