GitLab CI for systemd服务

问题描述 投票:0回答:1

我已经为systemd服务构建了一个deb包,在使用GitLab CI构建它之后,我想对其进行测试。

我使用的图像基于debian:stable(即撰写本文时发生的破坏)。

我正在像这样进行基本的烟雾测试:

test:
  stage: test
  script:
    - dpkg -i myservice.deb
    - systemctl start myservice

这失败,并显示一条错误消息,因为未找到systemctl。如果我将其作为测试的一部分进行安装,则它仍然会失败,因为systemd不是系统上的第一个进程。

如何在GitLab CI上测试systemctl服务?是否有运行systemd的Debian映像?

service gitlab gitlab-ci systemd
1个回答
0
投票

systemd与Docker不兼容,并且通常不需要,因为Docker范例是每个容器运行一个服务,因此服务控制框架没有多大意义。除非您特别依赖systemd进行测试…

[我在https://developers.redhat.com/blog/2014/05/05/running-systemd-within-docker-container/找到了一个在Docker容器内运行systemd的指令(随后,https://developers.redhat.com/blog/2016/09/13/running-systemd-in-a-non-privileged-container/)。它基于Redhat,但其原理也应适用于其他发行版(并且提供了有关systemd / docker兼容性的更多背景信息)。

但是,我想知道在这种设置下进行的测试是否仍然有意义。最好依靠本地VM进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.