diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 96e9fa12af35a7851b3e904db1ea83a8f6f9a4d8..f4d5fb44ba448e79d489e891b871d78860ec6ec3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,6 +2,7 @@ stages:
     - build_and_tests
     - clippy
     - fmt
+    - publish
     
 before_script:
     - export PATH="$HOME/.cargo/bin:$PATH"
@@ -55,4 +56,18 @@ fmt:
     - cargo install --force rustfmt-nightly
   script:
     - cargo fmt -- --write-mode=diff
-  allow_failure: true
\ No newline at end of file
+  allow_failure: true
+
+publish:crate:
+  stage: publish
+  tags:
+    - redshift-rs-stable
+  script:
+    - IFS='/' read -r first a <<< "$CI_COMMIT_TAG"
+    - cd $first
+    - cargo login $DUNITER_CRATES_TOKEN
+    - cargo publish
+  only:
+    - tags
+  allow_failure: false
+  when: manual
\ No newline at end of file
diff --git a/Cargo.lock b/Cargo.lock
index 4a85fcb4bfecf048744035ca3d24bedc240329a8..e64e61274f5e0c23ff7d084281269ace0f76a4ef 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -107,7 +107,7 @@ dependencies = [
 
 [[package]]
 name = "duniter-wotb"
-version = "0.8.0-a0.1"
+version = "0.8.0-a0.2"
 dependencies = [
  "bincode 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",