在Drone CI中testingAnsibleangular色,systemd服务不起作用

在testingAnsibleangular色时,我的systemd服务无法启动。 这是我得到的错误,

TASK [memcached : Packages Present] ******************************************** changed: [localhost] => (item=[u'memcached', u'libmemcached']) TASK [memcached : Service Enabled] ********************************************* fatal: [localhost]: FAILED! => {"changed": false, "msg": "Could not find the requested service memcached: host"} 

我的.drone.yml


 pipeline: build: image: samdoran/centos7-ansible privileged: true commands: - echo 'sslverify=0' >> /etc/yum.conf - yum install -y redhat-lsb-core python-devel openldap-devel git gcc gcc-c++ python2-pip - pip install -U pip tox - tox 

我的docker-compose.yml

 version: '2' services: drone-server: image: drone/drone:0.8 ports: - 8000:8000 - 9000 volumes: - /var/lib/drone:/var/lib/drone/ - /etc/ssl/certs/ca-bundle.crt:/etc/ssl/certs/ca-certificates.crt restart: always environment: - DRONE_OPEN=true - DRONE_HOST=https://example.server - DRONE_ADMIN=drone - DRONE_VOLUME=/etc/ssl/certs/ca-bundle.crt:/etc/ssl/certs/ca-certificates.crt - DRONE_GOGS_GIT_USERNAME=drone - DRONE_GOGS_GIT_PASSWORD=XXXXXXXX - DRONE_GOGS=true - DRONE_GOGS_URL=https://example.gogs - DRONE_SECRET=${DRONE_SECRET} drone-agent: image: drone/agent:0.8 command: agent restart: always depends_on: - drone-server volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - DRONE_SERVER=drone-server:9000 - DRONE_SECRET=${DRONE_SECRET} - DOCKER_API_VERSION=1.24 

我已经尝试手动执行memcached安装,从我的fedora工作站启动一个基本的centos:7 docker容器,当–privileged服务启动时如预期的那样。 无人机泊坞窗运行在RHEL 7主机上。 我已经在Drone接口中将存储库设置为可信。

/sys/fs/cgroup只读权限添加到volumes部分: - /sys/fs/cgroup:/sys/fs/cgroup:ro

这里的完整解释。

事实certificate,这个问题与入口命令是如何实现的有关,如果你覆盖了它不像预期那样启动的命令。 因此,解决方法是启动容器,分离,然后将命令发送到正在运行的容器。

 --- pipeline: system: image: cyberpunkspike/docker-centos7-ansible:latest labels: com.amtrustna.it.infr.serv.system: "true" cap_add: - SYS_ADMIN volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro init: /usr/lib/systemd/systemd detach: true exec: image: docker volumes: - /var/run/docker.sock:/var/run/docker.sock commands: - CONTAINER_ID="$(docker ps -qf "label=com.amtrustna.it.infr.serv.system")" - test -n "$CONTAINER_ID" || { echo "Container Not Found"; exit 1 ;} - docker exec -t "$CONTAINER_ID" sh -c "export TERM=xterm-256color; cd $PWD && tox"