Retour aux actualités

Tuto : "déployer une application R Shiny avec EcoCompose"

Le 7 février 2024

Cette vidéo a pour objectif de vous montrer comment déployer simplement une application dockerisée avec EcoCompose, quelle que soit la nature de l’application (ici, une application développée en R-Shiny).

Temps de lecture estimé : 2 mn
Tuto :

Bonjour, nous allons vous montrer ici comment profiter pleinement des offres d’intégration et de déploiement continus en prenant l’exemple d’une application R shiny conteneurisée.

Assurons-nous au préalable :

  • d’avoir ouvert un compte sur la plateforme Gitlab, et avoir créé un projet dans lequel nous déposons le code source de l’application, et pour lequel ont été activés les runners Gitlab.
  • de disposer d’un projet dans SPS. Si ce n’est pas encore le cas, il suffit de remplir puis valider le formulaire "Demande de création d’un projet sur Redmine SPS" dans "Assistance SPS - Support Produits et Services". Le lien s’affiche à l’écran.

Depuis notre projet sur Redmine, nous allons choisir le formulaire modèle "Création d’une stack PaaS" pour faire notre demande d’instance Eco Compose.

Nous pouvons voir à l’écran un exemple de demande complétée.
Il est important de bien indiquer EcoCompose dans le champ "type de VM", et dans le champ commentaire de bien demander de disposer des valeurs des champs ECO ACCESS KEY et ECO SECRET KEY. Ces deux paramètres serviront à créer deux variables CI/CD dans le projet Gitlab.

Pensez également à créer dans votre dépôt Gitlab un fichier .env même vide, ainsi qu’un fichier docker-compose.yml, dont le lien devra figurer dans la demande de création de l’instance Eco Compose.
La documentation Eco précise d’ailleurs le format que doivent avoir ces liens.

Sur Gitlab, il nous faut créer un fichier .gitlab-ci.yml qui devra contenir en entête la partie include que nous pouvons voir à l’écran et les deux variables précédemment citées seront également mentionnées dans la partie "variables" du job de déploiement.

Notre environnement de travail étant finalisé, nous allons accéder à notre dépôt local via notre outil de développement, ici VSCode, pour apporter une modification à l’application puis faire un commit afin de synchroniser notre dépôt sur Gitlab.
Nous pouvons voir que ce commit a automatiquement déclenché le lancement des jobs, d’abord le job de construction, puis celui de déploiement.

Il suffit alors d’accéder à l’URL de notre application pour vérifier que la modification a bien été prise en compte.
A noter : le port d’écoute ouvert par défaut pour l’instance EcoCompose est le 80, l’ouverture d’un autre port est à valider avec les équipes techniques de la Dnum.

Et voila ! Nous disposons à présent d’un environnement totalement opérationnel, et nous avons l’entière maîtrise du contenu de nos conteneurs Docker !

Le choix de R-Shiny est purement illustratif, vous êtes libre de mettre ce que vous voulez dans vos conteneurs ! :)