Mainframe : déploiement dans IBM LinuxONE™ Community Cloud avec GitHub Actions …

Image for post
Image for post

IBM propose un programme permettant de tester des instances virtuelles dans sa gamme LinuxONE, un système matériel conçu pour prendre en charge et exploiter le système d’exploitation Linux :

Image for post
Image for post

Je procède donc après inscription à la création d’une machine virtuelle SLES 12 SP5 (détails dans le dépôt GitHub de la communauté) :

Image for post
Image for post
Image for post
Image for post

Mon instance est prête et je peux m’y connecter :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Je peux y installer Node.js :

Image for post
Image for post

Ainsi que PM2 :

Image for post
Image for post

Je peux donc raccorder mon instance au dashboard offert par Keymetrics dans PM2.io :

Image for post
Image for post

Je clone le dépôt sur GitHub du sempiternel démonstrateur FC :

Image for post
Image for post

et de lancer localement le démonstrateur avec PM2 :

Image for post
Image for post
Image for post
Image for post
fcdemo3.sh

Et il devient accessible :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Ce qui me permet également de construire la binaire pour la dernière version en développement de Caddy 2 :

Image for post
Image for post

Je peux tester le bon fonctionnement de Caddy 2 avec notamment ce mode expérimental avec HTTP/3 (comme dans le précédent article) :

Image for post
Image for post

via ce fichier Caddyfile :

Image for post
Image for post

avec un bon retour :

Image for post
Image for post

J’en profite donc pour mettre en oeuvre GitHub Actions dans le dépôt du démonstrateur FC afin de générer un déploiement sur cette instance à chaque modification de code détectée.

Image for post
Image for post

Pour cela j’utilise à partir du marketplace offert par GitHub, “SSH for GitHub Actions” :

Image for post
Image for post

Cela passe par la création du workflow suivant en YAML :

Image for post
Image for post
.github/workflows/nodejs.yml

Les identifiants sont stockées sous la forme de secrets dans le dépôt GitHub.

Rapide test par modification d’un fichier du dépôt GitHub dans la branche Master avec ce nouveau Dockerfile adapté à ce type d’environnement :

Image for post
Image for post

Le changement est détecté dans le dépôt GitHub et dans Slack

Image for post
Image for post

et engendre l’exécution du workflow :

Image for post
Image for post

qui se termine correctement :

Image for post
Image for post

Le workflow après connection SSH à l’instance sur LinuxONE a engendré le déploiement du démonstrateur FC via ce simple script shell :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Et effectivement le démonstrateur FC est actif et exposé via Caddy 2 et HTTP/3 :

Image for post
Image for post

On voit la connection sur le port 443 en UDP générée par Caddy 2 :

Image for post
Image for post

Sur mon poste, en utilisant la dernière version en developpement du navigateur Google Chrome, je peux verifier que le démonstrateur FC répond correctement en HTTP/3 :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Pour rappel, GitHub a annoncé que les dépôts privés avec un nombre illimité de collaborateurs sont maintenant disponibles pour tous les comptes GitHub. Auparavant, trois développeurs au maximum pouvaient accéder à un dépôt privé gratuitement. Ainsi, toutes les fonctionnalités de base sont accessibles pour l’ensemble des utilisateurs …

Image for post
Image for post

À suivre ! …

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store