Jenkins 打包应用,然后通过 Ansible copy 模块将打好的包发到远程服务器上,再通过 Ansible shell 模块在远程机器上执行启动脚本。发现包成功发到了远程服务器,但是执行远程脚本时提示 java 指令找不到,我直接在服务器上运行脚本是没有问题的。求指导!
1
Firxiao 2019-10-15 14:04:38 +08:00
在启动脚本中添加 JAVA_HOME 的环境变量或者 java 命令使用绝对路径.
|
2
linxiaohaogood 2019-10-15 14:12:05 +08:00
1. 先说结论一般是环境变量问题,可以再 ansible 执行 task 配置目标机器环境变量就可以
参考链接: https://docs.ansible.com/ansible/latest/user_guide/playbooks_environment.html 2. 更好的建议一般使用进程管理程序来启动,不要直接前台启动,这样做法不靠谱。 如 supervisor,systemd 可以用来做进程守护,在机器重启或者迁移后服务能自动启动 |