Deadlock Theia projet basé sur notre propre image de Theia https://git.e-biz.fr/deadlock-public/theia. Plusieurs éléments ajoutés à l'image de base :
- Deadlock plugins (deadlock-plugins/)
- Outil d'enregistrment, qui permet d'enregistrer le code quand un utilisateur exécute du code (deadlock(plugins/recorder))
- Gestion du CORS (*.deadlock.io) dans
server.js
Deux images de deadlock-theia
sont build ici, code et kube.
Setup
Afin d'installer les éléments requis pour le développement, vous pouvez lancer le script ./setup.sh
.
Construire les plugins :
./build-plugins.sh
Tous les plugins qui se trouvent dans deadlock-public
vont être construit en .vsix
puis placés
dans plugins/
(ex: deadlock-plugins/deadlock-extension).
Il est aussi possible d'ajouter directement des plugins .vsix
en ajoutant le fichier dans plugins/
Recorder :
Le recorder permet de sauvegarder régulièrement le code de l'utilisateur.
Pour se faire il écoute les commandes exécutées par l'utilisateur et si une contient java|npm|yarn
alors un snapshot du code est réalisé.
Build
./build-recorder.sh
Construire l'image Deadlock Theia avec le recorder et les plugins
./build.sh $TAG (code|kube)
Requirements:
- NodeJS > ^14.X
- Vscode ou Vscodium
- Docker
Ce projet contient le minimum pour construire une image Docker Theia avec Blueprint (https://theia-ide.org/docs/composing_applications/)