Golang: déploiement HTTP sous Windows

Le langage Go fournit des gestionnaires pour la gestion des réponses HTTP. Il est assez facile de lancer un programme Go à l’invite de commande, qui écoute les requêtes HTTP entrantes.

Quelles sont les options de déploiement pour exécuter un tel programme Go en arrière-plan sur un ordinateur Windows Server? Par exemple, existe-t-il une méthode standard pour créer un service Windows exécutant le programme Go en arrière-plan?

Il existe un excellent paquet de kardianos / service de golang qui vous permettra de créer un service quelle que soit la plate-forme que vous ciblez.

Comme vous pouvez le voir ici (c’est en français, mais ce qui est intéressant, c’est l’exemple de code au début de la page), il est facile d’étendre votre programme avec des options de ligne de commande telles que:

  • installer installer le service.
  • supprimer supprimer le service.
  • exécuter simplement exécuter le programme (pas en tant que service).
  • démarrer / arrêter le service
  1. Utiliser NSSM (créer un service à partir de n’importe quel exécutable)

nssm install MyService d:\MyService.exe

  1. Utilisez le package golang.org/x/sys/windows/svc

… autres …