首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Ansible 问题求助!

  •  
  •   mccreefei · 54 天前 · 451 次点击
    这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Jenkins 打包应用,然后通过 Ansible copy 模块将打好的包发到远程服务器上,再通过 Ansible shell 模块在远程机器上执行启动脚本。发现包成功发到了远程服务器,但是执行远程脚本时提示 java 指令找不到,我直接在服务器上运行脚本是没有问题的。求指导!

    5 回复  |  直到 2019-10-15 14:30:30 +08:00
        1
    Firxiao   54 天前
    在启动脚本中添加 JAVA_HOME 的环境变量或者 java 命令使用绝对路径.
        2
    linxiaohaogood   54 天前
    1. 先说结论一般是环境变量问题,可以再 ansible 执行 task 配置目标机器环境变量就可以
    参考链接: https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html

    2. 更好的建议一般使用进程管理程序来启动,不要直接前台启动,这样做法不靠谱。
    如 supervisor,systemd 可以用来做进程守护,在机器重启或者迁移后服务能自动启动
        3
    mccreefei   54 天前
    @Firxiao #1 配置 java 的绝对路径是可以了,感谢,但是没搞懂为什么一定要设置环境变量或者使用绝对路径,毕竟在远程服务器上是已经配置了 java 环境变量的。
        4
    AntonChen   54 天前 via Android
    @mccreefei #3 这个问题建议你了解一下 ssh 的 nologin 模式
        5
    rockyou12   54 天前
    @mccreefei linux 的环境变量问题,你自己写个 bash 脚本打印下 env 就懂了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2404 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 14:19 · PVG 22:19 · LAX 06:19 · JFK 09:19
    ♥ Do have faith in what you're doing.