diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5df394b603a0d9fab0f252e76f630717343bbab9..4cfceb73909201d9d54c20e4e086fe24a3155272 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,8 @@
 variables:
   GOCACHE: $CI_PROJECT_DIR/.gocache
   GOPATH: $CI_PROJECT_DIR/.go
+  PACKAGE_REGISTRY_URL: >-
+    $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/needrestart2prom
 
 cache:
   paths:
@@ -47,3 +49,16 @@ lint:
     reports:
       junit: golangci-output.xml
     expire_in: 7 days
+
+upload:
+  stage: deploy
+  image: curlimages/curl:latest
+  needs:
+    - build
+  rules:
+    - if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
+  script:
+    - |
+      for file in $CI_PROJECT_NAME-linux-amd64 $CI_PROJECT_NAME-linux-arm; do
+      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/${CI_COMMIT_REF}/${file} ;
+      done