diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ade86281e160f520cd414867df5063c906d94828..90c0af1cbb3787a4f98853a621cab6c17f1b934a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,6 @@
 stages:
     - check
+    - github
 
 default:
   tags: [docker]
@@ -25,3 +26,45 @@ check:
   script:
     - if [[ $NOT_CRAN == "false" ]]; then sudo apt-get update && sudo apt-get install -y qpdf; fi
     - R -e 'rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning")'
+
+github:
+  stage: github
+  only:
+    refs:
+      - master
+      - tags
+  before_script:
+    ##
+    ## Install ssh-agent if not already installed, it is required by Docker.
+    ## (change apt-get to yum if you use an RPM-based image)
+    ##
+    - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
+
+    ##
+    ## Run ssh-agent (inside the build environment)
+    ##
+    - eval $(ssh-agent -s)
+
+    ##
+    ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
+    ## We're using tr to fix line endings which makes ed25519 keys work
+    ## without extra base64 encoding.
+    ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
+    ##
+    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
+
+    ##
+    ## Create the SSH directory and give it the right permissions
+    ##
+    - mkdir -p ~/.ssh
+    - chmod 700 ~/.ssh
+
+    ##
+    ## Optionally, if you will be using any Git commands, set the user name and
+    ## and email.
+    ##
+    - git config --global user.email "gitlab@inrae.fr"
+    - git config --global user.name "Gitlab CI"
+  script:
+    - git remote add github https://github.com/inrae/hubeau.git
+    - git push github ${CI_COMMIT_BRANCH}