【问题标题】:ansible & bash deployment on remote tomcat server远程tomcat服务器上的ansible和bash部署
【发布时间】:2019-02-07 12:42:52
【问题描述】:

我已经编写了一个 ansible 脚本来在远程服务器上执行一个 bash scipt。 当我直接在节点上运行相同的 bash 脚本时,它工作正常。 通过ansible它无法正常工作并返回没有任何错误。

场景:1.杀死tomcat 2.部署war文件 3.启动tomcat

此方案在直接在远程节点上执行时完美运行。 通过 ansible tomcat 被杀死但部署和启动不起作用。

谁能指导一下。

【问题讨论】:

  • 我觉得是用户问题。对于 ssh,一旦 ssh 发生,它就会使用 root 用户,它会向其他用户发送 sudo 并部署脚本。
  • 致命:[x.x.x.x]:失败! => {"changed": false, "module_stderr": "与 x.x.x.x 的共享连接已关闭。\r\n", "module_stdout": "sudo: 需要密码\r\n", "msg": "MODULE FAILURE \n查看 stdout/stderr 了解确切的错误", "rc": 1}
  • 谢谢你。已经授予 sudoers 访问新用户的权限,并且在我无法找到根本原因的情况下遇到另一个错误。错误:致命:[x.x.x.x]:无法访问! => { "changed": false, "msg": "无法通过 ssh 连接到主机:与 x.x.x.x 的共享连接已关闭。\r\n", "unreachable": true } 重试,使用:--limit @ /tmp/deployment:.retry
  • 第 1 部分:#ansible 脚本执行要部署的 bash 脚本 --- - 主机:webservers remote_user:newuser #sudo:yes 变为:true 任务:-名称:执行部署脚本命令:sh /tmp /deployment.sh {{version}} PART2:部署脚本有3个步骤1.停止tomcat 2.下载并部署war 3.停止tomcat PART3:通过ansible同时调用bash脚本在远程节点上执行。第 1 步(停止 tomcat)工作正常。第 2 步和第 3 步没有发生。
  • 注意:tomcat 服务应该在 newuser 上运行,而远程节点上的 ssh(22) 可以通过 newuser 和 root 完成

标签: bash tomcat deployment ansible


【解决方案1】:

问题在于用户。好像用户没有添加到 sudoers 文件中。

另外,请练习使用尽可能多的信息更新问题。例如,使用 SO 支持的正确语法的剧本代码错误

干杯, 亚什

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 2013-01-31
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多