From 57272be9f860c80daeb7b64886f401822ac5f4dc Mon Sep 17 00:00:00 2001
From: rma1403 <ravamaulana14@gmail.com>
Date: Tue, 27 Feb 2024 21:01:54 +0700
Subject: [PATCH] feat: added ci/cd

---
 .gitlab-ci.yml | 39 +++++++++++++++++++++++++++++++++++++++
 .prettierrc    |  2 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..9d42244
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,39 @@
+stages:
+  - publish
+  - deploy
+
+variables:
+  TAG_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest
+  TAG_COMMIT: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
+
+publish:
+  image: docker:latest
+  stage: publish
+  services:
+    - docker:dind
+  script:
+    - echo $CI_REGISTRY_USER
+    - echo $CI_REGISTRY_PASSWORD
+    - echo $CI_REGISTRY
+    - docker build -t $TAG_COMMIT -t $TAG_LATEST .
+    - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
+    - docker push $TAG_COMMIT
+    - docker push $TAG_LATEST
+  only:
+    - main
+
+deploy:
+  image: alpine:latest
+  stage: deploy
+  script:
+    - chmod og= $ID_RSA
+    - apk update && apk add openssh-client
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker pull $TAG_COMMIT"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker container rm -f ppl-app-backend || true"
+    - ssh -i $ID_RSA -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_IP "docker run -d -p 5173:5173 --name ppl-app-backend $TAG_COMMIT"
+  environment:
+    name: production
+    url: http://128.199.122.190
+  only:
+    - main
diff --git a/.prettierrc b/.prettierrc
index dcb7279..a20502b 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,4 +1,4 @@
 {
   "singleQuote": true,
   "trailingComma": "all"
-}
\ No newline at end of file
+}
-- 
GitLab