From e3d047b155e389d1a03e0bd8e0219a56330e5317 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Fri, 5 Nov 2021 18:15:28 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=94=20Add=20CI=20and=20CD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/source/3_dev/1_tools/index.rst | 2 ++ docs/source/3_dev/2_structure/1_backend/6_ci.rst | 6 ++++++ docs/source/3_dev/2_structure/1_backend/7_cd.rst | 10 ++++++++++ docs/source/3_dev/2_structure/1_backend/cd_example.png | 3 +++ docs/source/3_dev/2_structure/1_backend/ci_example.png | 3 +++ docs/source/3_dev/2_structure/1_backend/index.rst | 4 +++- docs/source/3_dev/2_structure/2_frontend/5_ci.rst | 6 ++++++ docs/source/3_dev/2_structure/2_frontend/6_cd.rst | 10 ++++++++++ .../source/3_dev/2_structure/2_frontend/cd_example.png | 3 +++ .../source/3_dev/2_structure/2_frontend/ci_example.png | 3 +++ docs/source/3_dev/2_structure/2_frontend/index.rst | 3 +++ docs/source/3_dev/2_structure/index.rst | 1 - 12 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 docs/source/3_dev/2_structure/1_backend/6_ci.rst create mode 100644 docs/source/3_dev/2_structure/1_backend/7_cd.rst create mode 100644 docs/source/3_dev/2_structure/1_backend/cd_example.png create mode 100644 docs/source/3_dev/2_structure/1_backend/ci_example.png create mode 100644 docs/source/3_dev/2_structure/2_frontend/5_ci.rst create mode 100644 docs/source/3_dev/2_structure/2_frontend/6_cd.rst create mode 100644 docs/source/3_dev/2_structure/2_frontend/cd_example.png create mode 100644 docs/source/3_dev/2_structure/2_frontend/ci_example.png diff --git a/docs/source/3_dev/1_tools/index.rst b/docs/source/3_dev/1_tools/index.rst index a14d176..f5ab86d 100644 --- a/docs/source/3_dev/1_tools/index.rst +++ b/docs/source/3_dev/1_tools/index.rst @@ -19,6 +19,7 @@ Per sviluppare Sophon sono usati i seguenti strumenti: - `GitHub Actions`_, un sistema di `Continuous Integration`_ e `Continuous Deployment`_ integrato in `GitHub`_; - `GitHub Containers`_, un registro di container Docker integrato in `GitHub`_; - `CodeQL`_, un tool di analisi statica integrato in `GitHub`_; + - `Dependabot`_, un tool di analisi delle dipendenze integrato in `GitHub`_; - `Sphinx`_, uno strumento per la creazione di documentazione. @@ -32,6 +33,7 @@ Per sviluppare Sophon sono usati i seguenti strumenti: .. _CodeQL: https://codeql.github.com/ .. _GitHub Containers: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry .. _Sphinx: https://www.sphinx-doc.org/ +.. _Dependabot: https://dependabot.com/ .. seealso:: diff --git a/docs/source/3_dev/2_structure/1_backend/6_ci.rst b/docs/source/3_dev/2_structure/1_backend/6_ci.rst new file mode 100644 index 0000000..decbd15 --- /dev/null +++ b/docs/source/3_dev/2_structure/1_backend/6_ci.rst @@ -0,0 +1,6 @@ +Continuous Integration +---------------------- + +Il codice sorgente del modulo viene automaticamente controllato attraverso GitHub Actions da **CodeQL** e **Dependabot** ad ogni modifica, segnalando gli eventuali errori o dipendenze non aggiornate nel pannello *Security* del repository. + +.. image:: ci_example.png diff --git a/docs/source/3_dev/2_structure/1_backend/7_cd.rst b/docs/source/3_dev/2_structure/1_backend/7_cd.rst new file mode 100644 index 0000000..c01b22f --- /dev/null +++ b/docs/source/3_dev/2_structure/1_backend/7_cd.rst @@ -0,0 +1,10 @@ +Continuous Deployment +--------------------- + +L'immagine del modulo viene automaticamente ricompilata da GitHub Actions e pubblicata su GitHub Containers ogni volta che un file all'interno della cartella del modulo viene modificato. + +Questo workflow è definito all'interno del file ``.github/workflows/build-docker-backend.yml``. + +.. seealso:: + + `La pagina del container `_ su GitHub Containers. diff --git a/docs/source/3_dev/2_structure/1_backend/cd_example.png b/docs/source/3_dev/2_structure/1_backend/cd_example.png new file mode 100644 index 0000000..4a0d530 --- /dev/null +++ b/docs/source/3_dev/2_structure/1_backend/cd_example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ddb75f9bab60af6d5cddb6a4d299ce26a5380098156a674084bd8f4bb437ea63 +size 73566 diff --git a/docs/source/3_dev/2_structure/1_backend/ci_example.png b/docs/source/3_dev/2_structure/1_backend/ci_example.png new file mode 100644 index 0000000..6df3401 --- /dev/null +++ b/docs/source/3_dev/2_structure/1_backend/ci_example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ba93c42828ac0ad037f51f8b179f19b735a2c8ef7c0a021db9f99ccec75290a +size 77445 diff --git a/docs/source/3_dev/2_structure/1_backend/index.rst b/docs/source/3_dev/2_structure/1_backend/index.rst index 0195bc1..41e91c4 100644 --- a/docs/source/3_dev/2_structure/1_backend/index.rst +++ b/docs/source/3_dev/2_structure/1_backend/index.rst @@ -23,4 +23,6 @@ Il *modulo backend* consiste in un server web che espone un'API e un sito web pe 2_sophon 3_core 4_projects - 5_notebooks \ No newline at end of file + 5_notebooks + 6_ci + 7_cd diff --git a/docs/source/3_dev/2_structure/2_frontend/5_ci.rst b/docs/source/3_dev/2_structure/2_frontend/5_ci.rst new file mode 100644 index 0000000..decbd15 --- /dev/null +++ b/docs/source/3_dev/2_structure/2_frontend/5_ci.rst @@ -0,0 +1,6 @@ +Continuous Integration +---------------------- + +Il codice sorgente del modulo viene automaticamente controllato attraverso GitHub Actions da **CodeQL** e **Dependabot** ad ogni modifica, segnalando gli eventuali errori o dipendenze non aggiornate nel pannello *Security* del repository. + +.. image:: ci_example.png diff --git a/docs/source/3_dev/2_structure/2_frontend/6_cd.rst b/docs/source/3_dev/2_structure/2_frontend/6_cd.rst new file mode 100644 index 0000000..fe0d2c8 --- /dev/null +++ b/docs/source/3_dev/2_structure/2_frontend/6_cd.rst @@ -0,0 +1,10 @@ +Continuous Deployment +--------------------- + +L'immagine del modulo viene automaticamente ricompilata da GitHub Actions e pubblicata su GitHub Containers ogni volta che un file all'interno della cartella del modulo viene modificato. + +Questo workflow è definito all'interno del file ``.github/workflows/build-docker-frontend.yml``. + +.. seealso:: + + `La pagina del container `_ su GitHub Containers. diff --git a/docs/source/3_dev/2_structure/2_frontend/cd_example.png b/docs/source/3_dev/2_structure/2_frontend/cd_example.png new file mode 100644 index 0000000..a303cb0 --- /dev/null +++ b/docs/source/3_dev/2_structure/2_frontend/cd_example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a4aa4bde19efa94508d62d97ff862a876d311e934f2b92002c9e033ce187a70 +size 31703 diff --git a/docs/source/3_dev/2_structure/2_frontend/ci_example.png b/docs/source/3_dev/2_structure/2_frontend/ci_example.png new file mode 100644 index 0000000..a018a25 --- /dev/null +++ b/docs/source/3_dev/2_structure/2_frontend/ci_example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e9add7c6f78640adfb9093cf51ec2119c1fe4fb7467e87018f7e2652b7100e3 +size 69090 diff --git a/docs/source/3_dev/2_structure/2_frontend/index.rst b/docs/source/3_dev/2_structure/2_frontend/index.rst index a710115..75f6957 100644 --- a/docs/source/3_dev/2_structure/2_frontend/index.rst +++ b/docs/source/3_dev/2_structure/2_frontend/index.rst @@ -17,3 +17,6 @@ Il modulo è formato dal package JavaScript :mod:`@steffo45/sophon-frontend`, ch 2_tree 3_resources 4_contexts + 5_ci + 6_cd + diff --git a/docs/source/3_dev/2_structure/index.rst b/docs/source/3_dev/2_structure/index.rst index 98dca12..a421997 100644 --- a/docs/source/3_dev/2_structure/index.rst +++ b/docs/source/3_dev/2_structure/index.rst @@ -4,7 +4,6 @@ Struttura del progetto Sophon è composto da quattro moduli, *backend*, *frontend*, *proxy* e *jupyter*, che interagiscono tra loro per fornire agli utenti tutti i servizi necessari. - .. toctree:: :maxdepth: 2