-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* refacto documentation * rename make command from services-up to vio-edge-up * translate edge orchestrator documentation to english
- Loading branch information
1 parent
dffbbbb
commit d8b3f8c
Showing
16 changed files
with
300 additions
and
301 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,61 +1,34 @@ | ||
# La CICD | ||
# The CICD | ||
|
||
Nous utilisons les workflows de Github Actions pour l'intégration continue et pour le déploiement continu. | ||
We use Github Actions workflows for continuous integration and continuous deployment. | ||
|
||
Il existe 5 workflows : | ||
## The continuous integration workflows | ||
|
||
2 workflows de CI: | ||
- [ci_edge_interface.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/ci_edge_interface.yml): the CI of the edge_interface application is decomposed into 2 jobs | ||
|
||
job lint_and_test_on_edge_interface: static code analysis of JavaScript code (no tests at the moment) | ||
job build_and_push_images: building the Docker image of the application without publishing to a registry | ||
|
||
- [ci_edge_interface.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/ci_edge_interface.yml) : | ||
intégration continue de l'application | ||
edge_interface décomposée en 2 jobs | ||
- job `lint_and_test_on_edge_interface` : analyse statique du code JavaScript (pas de tests pour le moment) | ||
- job `build_and_push_images` : construction de l'image Docker de l'application sans publication dans une registry | ||
- [ci_edge_orchestrator.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/ci_edge_orchestrator.yml) : | ||
intégration continue de l'application | ||
edge_orchestrator décomposée en 2 jobs | ||
- job `lint_and_test_on_edge_orchestrator` : analyse statique du code Python avec Flake8 suivie de l'exécution des | ||
tests automatisés (unitaires, intégration et fonctionnels) avec le stockage des rapports de tests dans Github | ||
- job `build_and_push_images` : construction de l'image Docker de l'application sans publication dans une registry | ||
- [ci_edge_orchestrator.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/ci_edge_orchestrator.yml): the CI of the edge_orchestrator application is decomposed into 2 jobs | ||
|
||
job lint_and_test_on_edge_orchestrator: static code analysis with Flake8 followed by automated tests (unit, integration, and functional) with storing test reports in Github | ||
job build_and_push_images: building the Docker image of the application without publishing to a registry | ||
|
||
Les deux workflows de CI (edge_[interface|orchestrator]_ci.yml) sont déclenchés sous l'une des conditions suivantes : | ||
The CI workflows (edge_[interface|orchestrator]_ci.yml) are triggered under one of the following conditions: | ||
- if a merge request with differences is opened on Github | ||
- if a commit on the master branch is pushed to Github | ||
|
||
- si une merge request comportant des différences est ouverte sur Github | ||
- si un commit sur la branche master est pushé sur Github | ||
## The release workflows | ||
|
||
3 worklows de release: | ||
- [publication_vio_images.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_vio_images.yml): publication of Docker edge_serving images by manual trigger job | ||
|
||
build_and_push_images: building Docker images with publishing images to the Github registry | ||
|
||
- [publication_vio_images.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_vio_images.yml) : | ||
publication des images Docker edge_serving par déclenchement manuel | ||
- job `build_and_push_images` : construction des images Docker avec publication des images dans la registry Github | ||
- [publication_vio_images_raspberry.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_vio_images_raspberry.yml) : | ||
publication des images Docker edge_serving par déclenchement manuel | ||
- job `build_and_push_images` : construction des images Docker spécifique au hardware Raspberry avec publication des images dans la registry Github | ||
- [publication_pages_gh-pages_branch.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_pages_gh-pages_branch.yml) : | ||
génération et déploiment de la documentation | ||
- [publication_vio_images_raspberry.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_vio_images_raspberry.yml): publication of Docker edge_serving images by manual trigger job | ||
|
||
Les 3 workflows de release sont déclenchés sous l'une des conditions suivantes : | ||
build_and_push_images: building Docker images specific to Raspberry hardware with publishing images to the Github registry | ||
|
||
- si une release est crée depuis Github | ||
- [publication_pages_gh-pages_branch.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_pages_gh-pages_branch.yml): generation and deployment of documentation | ||
|
||
|
||
////////////////////////////// WIP ////////////////////////////// | ||
|
||
Pour déployer une nouvelle version sur RaspberryPI, il faut d'abord créer des images Docker spécifiques pour le device | ||
en question. | ||
Afin de créer ces images, il suffit d'ajouter un tag Git, en suivant la | ||
convention [SemVer](https://semver.org/lang/fr/). Par exemple: | ||
|
||
``` | ||
git tag rpi-1.2.1 | ||
git push --tags | ||
``` | ||
|
||
Une fois le tag poussé, cela déclenche une pipeline Gitlab CI qui va construire les images Docker pour RaspberryPI. | ||
Celles-ci seront stockées dans la registry Gitlab, et elles-mêmes taguées avec le même tag `rpi-1.2.1`. | ||
|
||
Enfin, il faut préciser à Azure IoT Hub qu'on souhaite déployer ces nouvelles versions sur les dispositifs Edge. | ||
Pour cela, il suffit mettre à jour les variables dans le fichier `deployment/ansible/setup_iot_hub_azure.yml` et | ||
relancer le playbook Ansible. | ||
|
||
////////////////////////////// WIP ////////////////////////////// | ||
The release workflows are triggered under one of the following conditions: | ||
- if a release is created from Github |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Documentation | ||
|
||
To update the documentation, feel free to modify / add markdown file in the `/docs` folder of the repository | ||
|
||
## Preview Locally | ||
|
||
To build locally your github pages site | ||
```shell | ||
$ mkdocs build | ||
``` | ||
To test locally your github pages site | ||
```shell | ||
$ mkdocs serve | ||
``` | ||
|
||
## Publish on github pages | ||
|
||
Simply commit your modification on your branch, issue a PR and the workflow [publication_pages_gh-pages_branch.yml](https://github.com/octo-technology/VIO/tree/main/.github/workflows/publication_pages_gh-pages_branch.yml) will be triggered automatically. | ||
|
||
Note: (Wrong behaviour) to manually push your modification directly to github pages you can execute the command: | ||
```shell | ||
$ mkdocs gh-deploy | ||
``` |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.