我想在ansible playbook中启动我的node.js应用程序.现在,最终的指令看起来像这样:
- name: start node server
shell: chdir=${app_path} npm start&
Run Code Online (Sandbox Code Playgroud)
问题是ansible永远不会从此返回.我怎样才能继续?
gee*_*guy 26
Forever似乎是启动和守护Node.js应用程序的最简单,最简单的方法.目前,永远没有Ansible模块,但您仍然可以使用以下播放器永久安装并运行您的应用程序:
- name: "Install forever (to run Node.js app)."
npm: name=forever global=yes state=present
- name: "Check list of Node.js apps running."
command: forever list
register: forever_list
changed_when: false
- name: "Start example Node.js app."
command: forever start /path/to/app.js
when: "forever_list.stdout.find('/path/to/app.js') == -1"
Run Code Online (Sandbox Code Playgroud)
这是完全幂等的,对我来说很有用.你可以forever为Ansible编写一个小模块来为你做这些事情(比如service模块),但现在这个有用了.
我有一个完整的例子,说明如何在Server Check.in的博客上使用Forever和Ansible启动Node.js应用程序.
| 归档时间: |
|
| 查看次数: |
5525 次 |
| 最近记录: |