diff --git a/.gitlab-ci.elife.k8s.yml b/.gitlab-ci.elife.k8s.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c1490d5cb1a102c21a3e55f3c19c33e1d1740914
--- /dev/null
+++ b/.gitlab-ci.elife.k8s.yml
@@ -0,0 +1,57 @@
+variables:
+  IMAGE_ORG: kotahi
+  IMAGE_NAME: kotahi-elife
+  AWS_ACCESS_KEY_ID: $ELIFE_AWS_ACCESS_KEY_ID
+  AWS_SECRET_ACCESS_KEY: $ELIFE_AWS_SECRET_ACCESS_KEY
+  AWS_DEFAULT_REGION: $ELIFE_AWS_DEFAULT_REGION
+  ELIFE_CLUSTER_NAME: eks-elife-kotahi
+
+stages:
+  #- build
+  - deploy
+
+# build:
+#   image: docker:20.10.5
+#   variables:
+#     DOCKER_BUILDKIT: 1
+#   services:
+#     - docker:20.10.5-dind
+#   stage: build
+#   before_script:
+#     - cp app/brand-instances-configs/elife.json app/brandConfig.json
+#   script:
+#     - |
+#       if [ -z "$DOCKERHUB_USERNAME_ELIFE" ] || [ -z "$DOCKERHUB_PASSWORD_ELIFE" ]; then echo "Not pushing" && exit 0; fi
+#       docker login -u $DOCKERHUB_USERNAME_ELIFE -p $DOCKERHUB_PASSWORD_ELIFE
+#       docker pull $IMAGE_ORG/$IMAGE_NAME:latest || true
+#       docker build \
+#       --build-arg instance_name=elife \
+#       --build-arg public_client_host=elife.kotahi.cloud \
+#       --build-arg public_client_port=443 \
+#       --build-arg public_client_protocol=https \
+#       --file ./Dockerfile-production \
+#       --cache-from $CI_REGISTRY_IMAGE:latest \
+#       --tag $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA \
+#       --tag $IMAGE_ORG/$IMAGE_NAME:latest .
+#       docker build --build-arg instance_name=elife --file ./Dockerfile-ci --cache-from $IMAGE_ORG/$IMAGE_NAME-dev:latest --tag $IMAGE_ORG/$IMAGE_NAME-dev:$CI_COMMIT_SHA --tag $IMAGE_ORG/$IMAGE_NAME-dev:latest .
+#       docker push $IMAGE_ORG/$IMAGE_NAME:$CI_COMMIT_SHA
+#       docker push $IMAGE_ORG/$IMAGE_NAME:latest
+#       docker push $IMAGE_ORG/$IMAGE_NAME-dev:$CI_COMMIT_SHA
+#       docker push $IMAGE_ORG/$IMAGE_NAME-dev:latest
+
+deploy:
+  stage: deploy
+  image: bitnami/kubectl:latest
+  environment: production
+  script:
+    - |
+      #aws --region=$AWS_DEFAULT_REGION eks update-kubeconfig --name $ELIFE_CLUSTER_NAME --kubeconfig ${ELIFE_KUBECONFIG}
+      kubectl config --kubeconfig=${ELIFE_KUBECONFIG} set-cluster development --server=${ELIFE_K8S_CLUSTER_HOST} --certificate-authority=${ELIFE_K8S_CLUSTER_CA_CERTIFICATE}
+      kubectl cluster-info
+      # helm repo add kotahi https://charts.bitnami.com/bitnami
+      # helm dependency build helm/elife-kotahi
+      # helm upgrade -i elife-kotahi \
+      #       --set hostname=k8s.kotahi.cloud \
+      #       --wait \
+      #       helm/elife-kotahi
+
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8665c332d30fc729353ada3214f26e28c8c3364b..75ef0e2d72b77026b0417b8f54e0ca4bfe28be3c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,16 @@ elife-pipeline:
       - local: .gitlab-ci.elife.yml
     strategy: depend
 
+elife-k8s-pipeline:
+  only:
+    refs:
+      - main
+  stage: run-pipeline
+  trigger:
+    include:
+      - local: .gitlab-ci.elife.k8s.yml
+    strategy: depend
+
 ncrc-pipeline:
   only:
     refs: