diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f1d4035dbf96b294ae6a5efc14187f81421565be
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,45 @@
+stages:
+  - fmt
+  - tests
+  - quality
+
+.rust_stable_lin64:
+  image: registry.duniter.org/docker/rust/rust-x64-stable-ci:latest
+  tags:
+    - redshift
+  before_script:
+    - export PATH="$HOME/.cargo/bin:$PATH"
+    - rustup show
+    - rustc --version && cargo --version
+
+fmt:
+  extends: .rust_stable_lin64
+  stage: fmt
+  script:
+    - cargo fmt -- --version
+    - cargo fmt -- --check
+        
+tests:linux64:stable:
+  extends: .rust_stable_lin64
+  stage: tests
+  tags:
+    - redshift
+  script: 
+    - RUSTFLAGS="-D warnings" cargo build
+    - cargo test --doc
+    - cargo tarpaulin --all --all-features --ignore-tests -iv --out Xml
+    #- bash <(curl -s https://codecov.io/bash)
+
+clippy:
+  extends: .rust_stable_lin64
+  stage: quality
+  script:
+    - cargo clippy -- -V
+    - cargo clippy --all --tests -- -D warnings --verbose
+    
+audit_dependencies:
+  extends: .rust_stable_lin64
+  stage: quality
+  script:
+    - cargo deny -V
+    - cargo deny check