diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 522b95237be4ac79d907d9afca602501b08be6ab..e997e47920979df710ae8af530d866e596b70937 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,6 @@
 stages:
   - publish
+  - deploy
 
 variables:
   CONTAINER_IMAGE: gitlab-registry.eps.surrey.ac.uk/lz0002/hello
@@ -32,4 +33,16 @@ build:
     - docker build -t ${CONTAINER_IMAGE} .
     #- docker tag ${CONTAINER_IMAGE} ${CONTAINER_IMAGE}:${CI_COMMIT_SHORT_SHA}
     - docker tag ${CONTAINER_IMAGE} ${CONTAINER_IMAGE}:latest
-    - docker push ${CONTAINER_IMAGE}:latest
\ No newline at end of file
+    - docker push ${CONTAINER_IMAGE}:latest
+deploy:
+  image: gitlab-registry.eps.surrey.ac.uk/lz0002/alpine:latest
+  stage: deploy
+  tags:
+    - deployment
+  script:
+    - chmod og= $ID_RSA
+    - apk update && apk add openssh-client
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker login -u cicd -p x8x_9DwsywDzAPviBX7s"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker pull gitlab-registry.eps.surrey.ac.uk/lz0002/hello"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker container rm -f my-hello-svr || true"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker run -d -p 8999:8999 --name my-hello-svr gitlab-registry.eps.surrey.ac.uk/lz0002/hello"
\ No newline at end of file