使用 jenkins 运行 ansible-playbook 时出错

使用 jenkins 运行 ansible-playbook 时出错

--我在 ubuntu 用户中有一个 ansible playbook,我能够在远程用户中推送这个 playbook

-- 现在我已经在这个 ubuntu(EC2 实例)服务器中安装了 jenkins,并且我已授予 jenkins 所有 sudo 权限 (jenins)[jenkins ALL=(ALL) NOPASSWD: ALL]

--现在我可以从詹金斯主帐户执行(sudo su - ubuntu)

--现在在 Jenkins 用户界面的 Build 下,我已经编写了 bash 命令 ansible-playbook deploy.yml但是我遇到了 ssh 连接失败

-- 我觉得詹金斯从他的家庭账户运行这个命令,这就是发生 ssh 错误的原因

-- 因此在构建部分下我做了

  whoami                    output  --jenkins
  sudo su - ubuntu          (from jenkins home account i am able to run this command )
  whoami                     output    -- still  jenkins

--所以我去了/etc/defaults/詹金斯文件
sudo vi /etc/default/jenkins $JENKINS_USER="ubuntu" sudo chown -R ubuntu:ubuntu /var/lib/jenkins sudo chown -R ubuntu:ubuntu /var/log/jenkins sudo chown -R ubuntu:ubuntu /var/cache/jenkins sudo chown -R ubuntu:ubuntu /var/run/jenkins

但是现在 systemctl restart jenkins 现在可以工作了,但是服务还没有启动

答案1

不确定你是如何安装 Jenkins 的,但如果你使用了apt-get,这意味着你的 Jenkins 守护进程很可能正在使用用户启动jenkins

您可以使用 检查sudo grep JENKINS_USER /etc/sysconfig/jenkins

由于您将所有 Jenkins 文件夹的所有权更改为用户和组ubuntu,因此 jenkins 用户将无法访问这些文件。

我建议您将所有权改回用户jenkins,然后使用用户运行您的 Ansible 剧本jenkins

相关内容