我需要将 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
操作。