diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 758cf719928338b4d93b7e682ad5c6275daaccd8..7925f9c3d4e2ba16e123771b39647b13631d6f2d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,10 +40,16 @@ release:
       if [ "$LATEST_VERSION" = "$THIS_VERSION" ]
       then
         echo "This version has already been published"
-      else
-        sed -i "s#\"$PACKAGE\"#\"@dbogatov/$PACKAGE\"#g" package.json
-        npm publish
+        exit 0
       fi
+    - sed -i "s#\"$PACKAGE\"#\"@dbogatov/$PACKAGE\"#g" package.json
+    - npm publish
+    - |
+      cat <<EOT > .npmrc
+      //registry.npmjs.org/:_authToken=${NPM_TOKEN}
+      EOT
+    - sed -i "s#\"@dbogatov/$PACKAGE\"#\"$PACKAGE\"#g" package.json
+    - npm publish
   rules:
     - if: '$CI_COMMIT_REF_NAME == "master"'
       when: on_success
diff --git a/package.json b/package.json
index 0cf232283eed25b511d2b1aa6eeea573c2adfeab..2ee2a5fcead19b5523a02a79a0f92790487f6bdf 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "broken-links-inspector",
-	"version": "0.2.3",
+	"version": "0.2.4",
 	"description": "Extract and recursively check all URLs reporting broken ones",
 	"main": "dist/inspector.js",
 	"types": "dist/inspector.d.ts",
diff --git a/src/index.ts b/src/index.ts
index b3a3a1486d28fab3e065e0b224d984a2ee5471ce..7dde15fe034167fcd2cfb02ee93643a7f7630a75 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -6,7 +6,7 @@ import { Inspector, URLsMatchingSet, Config } from "./inspector"
 import { ConsoleReporter, JUnitReporter } from "./report"
 
 commander
-	.version("0.1.0") // TODO automatically
+	.version("0.2.3")
 	.description("Extract and recursively check all URLs reporting broken ones")
 
 commander