任务是
- name: ensure rvm install path is writable by the set owner:group file: path='{{ rvm1_install_path }}' state=directory recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}'
我明白了
TASK: [rvm_io.rvm1-ruby | ensure rvm install path is writable by the set owner:group] *** failed: [54.68.205.15] => {"failed": true, "gid": 111, "group": "jenkins", "item": "", "mode": "0755", "owner": "jenkins", "path": "/var/lib/jenkins/.rvm", "size": 4096, "state": "directory", "uid": 106} msg: chgrp failed FATAL: all hosts have already failed -- aborting
文件夹已经存在.
我在用
sudo: true sudo_user: jenkins
因为我的ssh用户是ubuntu
.
这是一部分我通过RVM提供的ansible作用的问题,但感觉这可能不是太密切的关系RVM ..所以即时问这里,但不能肯定.
您的jenkins
用户无权创建目录或设置权限.此外,如果存在任何文件/目录并且由jenkins以外的其他人拥有,则jenkins用户将无法对其进行选择.
这就是chgrp
失败的原因.您需要超级用户权限,并且希望jenkins用户的权限非常有限.
这可能是你的意图:
- name: ensure rvm path exists file: path='{{ rvm1_install_path }}' state=directory recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}' sudo: yes sudo_user: root - name: all rvm files should be owned by our user file: path='{{ rvm1_install_path }}' recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}' sudo: yes sudo_user: root