Développement de wotmap

wotmap
graph
sigmajs

#146

Je cherche à automatiser le déploiement de la wotmap avec un fichier .gitlab-ci.yml inspiré de celui qu’avait fait @1000i100 :

.gitlab-ci.yml
stages:
  - build
  - publish

update-data:
  stage: build
  image: python:3.6.8-alpine3.9
  script:
    - wget http://g1.1000i100.fr/duniter.db
    - mkdir -p /var/lib/duniter/.config/duniter/duniter_default/
    - mv duniter.db /var/lib/duniter/.config/duniter/duniter_default/

    - mkdir -p /var/www/wotmap/
    - cp -r ./ /var/www/wotmap/

    - python3 /var/www/wotmap/script/wot_json.py -d

    - mv /var/www/wotmap ./release
  artifacts:
    untracked: true
    paths:
      - release/
  only:
    - master

pages:
  stage: publish
  image: python:3.6.8-alpine3.9
  script:
    - mv release public
  artifacts:
    untracked: true
    paths:
      - public
  only:
    - master

La méthode utilisée par @1000i100 ne permet pas d’avoir les données à jour puisque le script ne se lance que lors du git push. De plus, vu que la BDD de Duniter a changé de format, je ne vois pas trop comment faire pour importer les données dans le conteneur Docker. L’idée la plus pertinente qui me vient à l’esprit est de monter directement le dossier de la machine hôte (/var/lib/duniter/.config/duniter/duniter_default/data/leveldb/) dans le conteneur mais cette discussion sur Stackoverflow dit que ce n’est pas possible

Est-ce que quelqu’un aurait une idée ?

EDIT :serait-ce une piste ?


#147

Si, puisque le script se lance au git push ET peut être lancé sous forme de CI récurente, comme un cron, quotidiennement par exemple.

En revanche, effectivement, pour reprendre le principe que j’utiliser avec la nouvelle BDD, il faudrait exposer cette nouvelle BDD qui n’est plus en un seul fichier, en télécharger les éléments puis en extraire les info souhaitées.

Autre possibilité, maintenant que le sync est rapide : créer un noeud et faire une sync dans la CI.