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 ! …

Billboard image

Use Playwright to test. Use Playwright to monitor.

Join Vercel, CrowdStrike, and thousands of other teams that run end-to-end monitors on Checkly's programmable monitoring platform.

Get started now!

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay