L'hébergement pour Node.js n'est pas encore très répandu, en particulier dans les pays germanophones. La société américaine de cloud Heroku propose une solution ici - et même gratuitement . Vous remarquez toujours le paradigme "Construire des applications ... pas une infrastructure" et vous n'avez encore pratiquement aucune restriction. À titre d'exemple, nous implémentons un petit travail cron basé sur PhantomJS , qui supprime un site Web tous les jours et envoie le titre de la page par e-mail.
Pour ce faire, nous nous inscrivons d'abord gratuitement sur https://signup.heroku.com/:
Après la confirmation par e-mail obligatoire, nous émettrons un mot de passe sécurisé:
Afin de pouvoir utiliser ultérieurement des modules complémentaires gratuits de la place de marché, nous devons d'abord vérifier notre compte sous https://heroku.com/verify en saisissant une carte de crédit (ne vous inquiétez pas, tout reste gratuit):
Le reste se déroule désormais exclusivement sur la ligne de commande. Pour cela, nous avons besoin localement de Node.js / npm , Git et Heroku CLI .
Nous nous connectons enfin à Heroku localement (une fois) sur la ligne de commande:
Nous créons d'abord une nouvelle application basée sur un buildpack approprié. Dans notre exemple, nous utilisons le buildpack officiel de Node.js heroku-buildpack-nodejs.git:
1a01abaf4b9308c5714622396ccc4708
Nous créons maintenant un package.json pour installer les packages PhantomJS , CasperJS , SpookyJS et Nodemailer requis pour notre projet:
1a01abaf4b9308c5714622396ccc4708
La logique réelle peut être trouvée dans script.js:
1a01abaf4b9308c5714622396ccc4708
Nous testons d'abord tout localement:
1a01abaf4b9308c5714622396ccc4708
Le script extrait un titre d'un site Web et envoie un e-mail:
Nous poussons maintenant tout sur Heroku, ce qui déclenche également le processus de construction:
1a01abaf4b9308c5714622396ccc4708
Si vous souhaitez envoyer ultérieurement les modifications de code à Heroku, il vous suffit de pousser à nouveau. D'une part, nous pouvons désormais utiliser SSH pour vérifier si tout fonctionne sur le serveur:
1a01abaf4b9308c5714622396ccc4708
Ici aussi, l'e-mail est envoyé correctement. Il ne reste plus qu'à automatiser le processus:
1a01abaf4b9308c5714622396ccc4708
Nous ajoutons un nouvel appel de script avec "Ajouter un nouveau travail":
À titre de test, nous sélectionnons toutes les 10 minutes comme fréquence et enregistrons:
Le cronjob fera désormais son travail automatiquement à l'avenir.