diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 29d9c03897bae3bdf09cdbfd85052e6b582cc0a4..3e36304f002dae725e588eeaa66b8d956261387d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,8 +5,8 @@ stages:          # List of stages for jobs, and their order of execution
 
 variables:
   EXLIBRIS_SDK_DIR: "/exlibris"
-  ROSETTASDK: "${EXLIBRIS_SDK_DIR}/7.3/lib/"
-  IMAGE_TARGET: "$CI_REGISTRY_IMAGE/bullseye_subapp"
+  ROSETTASDK: "${EXLIBRIS_SDK_DIR}/8.1/lib/"
+  IMAGE_TARGET: "${HARBOR_HOST}/${HARBOR_PROJECT}/bookworm_${HARBOR_PROJECT}"
   FF_USE_FASTZIP: "true"
   # These can be specified per job or per pipeline
   ARTIFACT_COMPRESSION_LEVEL: "fast"
@@ -35,7 +35,7 @@ build-env-job:       # This job runs in the build stage, which runs first.
   # docu: https://docs.gitlab.com/ee/ci/docker/using_kaniko.html, this is basically copy-pasted from there
   script:
     - mkdir -p /kaniko/.docker
-    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"},\"$(printf "%s" "$CI_DEPENDENCY_PROXY_SERVER" | cut -d':' -f1)\":{\"auth\":\"$(printf "%s:%s" "$CI_DEPENDENCY_PROXY_USER" "$CI_DEPENDENCY_PROXY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
+    - echo -n "{\"auths\":{\"${HARBOR_HOST}\":{\"auth\":\"$(echo -n ${HARBOR_USERNAME}:${HARBOR_PASSWORD} | base64 -w0)\"}}}" > /kaniko/.docker/config.json
     # In this task, Kaniko executor is called to build the Image based on the Dockerfile provided with "--dockerfile".
     - echo "CI_PROJECT_DIR=${CI_PROJECT_DIR}"
     - >-
@@ -47,7 +47,7 @@ build-env-job:       # This job runs in the build stage, which runs first.
       --cache=true
       --cache-repo=${CI_REGISTRY_IMAGE}
       --cache-copy-layers=true
-      --snapshotMode=redo
+      --snapshot-mode=redo
       --use-new-run
       --ignore-var-run