DEV Community

Karim
Karim

Posted on • Originally published at Medium on

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

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 :

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é) :

linuxone-community-cloud/technical-resources

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

Je peux y installer Node.js :

Ainsi que PM2 :

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

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

et de lancer localement le démonstrateur avec PM2 :

fcdemo3.sh

Et il devient accessible :

J’installe Go sur mon instance en construisant son binaire :

linux-on-ibm-z/docs

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

caddyserver/caddy

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) :

Exécuter son site web avec FreeBSD, HTTP/3 et Caddy 2 dans DigitalOcean …

via ce fichier Caddyfile :

avec un bon retour :

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. Pour cela j’utilise à partir du marketplace offert par GitHub, “SSH for GitHub Actions” :

SSH Remote Commands - GitHub Marketplace

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

Configuring a workflow

.github/workflows/nodejs.yml

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

Creating and storing encrypted secrets

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 :

Le changement est détecté et engendre l’exécution du workflow :

qui se termine correctement :

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

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

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

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 :

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 ...

GitHub is now free for teams

À suivre ! …

Top comments (0)