Запустите Windows веб-сервер в фоновом режиме с Ansible - PullRequest
1 голос
/ 03 апреля 2020

Я хочу запустить Go веб-сервер (один .exe) на Windows Сервер через Ansible.

Эквивалент в Linux, который прекрасно работает, выглядит следующим образом:

- name: Start web server
  become: true
  become_user: root
  shell:
  cmd: nohup /home/centos/webserver </dev/null >/dev/null 2>&1 &

Я могу сделать это в PowerShell, используя Start-Process -FilePath -NoNewWindow .\webserver.exe, но он закрывается, когда я закрываю окно PowerShell.

Я также попытался сделать это с помощью Start-Job { & C:\Path\to\webserver.exe }, и Get-Job показывает это завершен, но не уверен, что это значит, поскольку он является веб-сервером и должен просто продолжать работать, пока он не будет убит.

Мне нужно что-то, что запустит веб-сервер, но не будет привязано к оболочке, чтобы Ansible мог это сделать через модуль win_shell. Я бы надеялся, что это сработает, но не повезло:

- name: Start the webserver processes
  win_shell: Start-Process -FilePath .\webserver.exe
  args:
    chdir: C:\Users\Administrator

Любые и все предложения очень ценятся!

1 Ответ

0 голосов
/ 03 апреля 2020

Похоже, я пытался найти более сложный способ сделать это с помощью PowerShell, когда Ansible все время имел встроенную функциональность. Это достигается именно то, что я хочу:


- name: Start webserver
  win_shell: .\webserver.exe
  args:
    chdir: C:\Users\Administrator
  async: 180
  poll: 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...