Checklist de production
Checklist de production
- Mon projet
cssXX.dashboards_storeutilise Git - Les dashboards déployés sont versionnés dans
cssXX.dashboards_store. - Un push vers
cssXX.dashboards_storedéclenche une pipeline CI/CD qui construit une image Docker basée sur celle decore.dashboards_store. Mon ETL est conteneurisé. - J'exécute mon ETL conteneurisé avec un
cronjobou le DAGcore.dashboards_store/tooling/depechecode/DAG.py.
Utiliser un gestionnaire de versions
Le gestionnaire de versions est essentiel lorsque l'on travaille en équipe. Il permet de suivre les changements, de revenir à des versions précédentes et de collaborer sur des projets. Nous vous recommandons d'installer et d'utiliser Git dans votre cssXX.dashboards_store.
Chaque dashboard déployé devrait être versionné dans cssXX.dashboards_store. Vous pourrez ainsi suivre les changements et revenir à une version précédente au besoin.
Utiliser des dépendances épinglées
core.dashboards_store dont dépend votre cssXX.dashboards_store.Pour épingler une version précise, mettez à jour le fichier packages.yml de votre cssXX.dashboards_store avec l'extrait suivant:
# cssXX.dashboards_store/packages.yml
packages:
- git: git@github.com:Sciance-Inc/core.dashboards_store.git
revision: <release_number>
Où <release_number> est la version à épingler, par exemple v0.7.0+20230926.
Utiliser une pipeline CI/CD
Vous pouvez construire une pipeline CI/CD pour automatiser le déploiement de vos dashboards. Le fichier core.dashboards_store/tooling/depechecode/Dockerfile décrit une image Docker qui emballe le core et que vous pouvez réutiliser pour construire l'image de votre cssXX.dashboards_store.
Déployer vers Airflow
Le fichier core.dashboards_store/tooling/depechecode/DAG.py décrit un DAG que vous pouvez réutiliser pour déployer vos dashboards dans Airflow. Vous pouvez copier ce fichier dans votre repo cssXX.dashboards_store et mettre à jour l'objet DAG selon vos besoins de déploiement.
Vous pouvez aussi utiliser un cronjob. Dans tous les cas, nous vous recommandons de conteneuriser votre ETL afin d'abstraire l'infrastructure sous-jacente.
