From b4331b0fbd8f7e826279708a799b1c683842b719 Mon Sep 17 00:00:00 2001 From: phuongdm Date: Sun, 10 May 2026 22:30:07 +0700 Subject: [PATCH] test CI/CD --- CI-CD-PLAN.md | 120 -------------------------------------------------- 1 file changed, 120 deletions(-) delete mode 100644 CI-CD-PLAN.md diff --git a/CI-CD-PLAN.md b/CI-CD-PLAN.md deleted file mode 100644 index b4db5ff..0000000 --- a/CI-CD-PLAN.md +++ /dev/null @@ -1,120 +0,0 @@ -# Ke hoach CI/CD cho frontend (Gitea) - -## 1) Tong quan -Ke hoach nay thiet lap: -- CI: build va test moi lan push/PR -- CD: deploy Docker tu dong len staging - -## 2) Thong tin du an -- Build tool: Vite -- Script: - - test: `npm run test` - - build: `npm run build` -- Thu muc output: `dist` - -## 3) Quy uoc da chot -1) Cach deploy: Docker -2) Node version: 22.14.0 -3) Branch staging: `main` -4) Runner dat tren web server (deploy truc tiep, khong SSH) - -## 4) Dieu kien truoc -- Web server Ubuntu 22.04 co Docker -- Web server truy cap duoc: - - Gitea: http://203.171.20.94:3000 - - Docker Hub - -## 5) Cai dat act_runner tren web server (Ubuntu 22.04) -### 5.1 Dung user compmanage lam runner -```bash -sudo usermod -aG docker compmanage - -``` - -### 5.2 Tai act_runner -```bash -mkdir -p /home/compmanage/gitea-runner/bin -cd /home/compmanage/gitea-runner/bin -curl -L -o act_runner \ - https://dl.gitea.com/act_runner/0.2.10/act_runner-0.2.10-linux-amd64 -chmod +x act_runner -``` - -### 5.3 Lay token va dang ky runner -- Gitea Admin -> Actions -> Runners -> Create new runner -- Dang ky runner: -```bash -/home/compmanage/gitea-runner/bin/act_runner register \ - --instance http://203.171.20.94:3000 \ - --token \ - --name webserver-runner \ - --labels docker:docker://node:22.14.0 -``` - -### 5.4 Chay runner bang systemd -Tao file `/etc/systemd/system/act_runner.service`: -```ini -[Unit] -Description=Gitea Actions Runner -After=network.target - -[Service] -User=compmanage -Group=compmanage -ExecStart=/home/compmanage/gitea-runner/bin/act_runner daemon -WorkingDirectory=/home/compmanage/gitea-runner -Restart=always -RestartSec=5 - -[Install] -WantedBy=multi-user.target -``` - -Khoi dong: -```bash -sudo systemctl daemon-reload -sudo systemctl enable --now act_runner -sudo systemctl status act_runner -``` - -## 6) Secrets can tao trong Gitea -Vao repo -> Settings -> Actions -> Secrets, them cac key sau: -- REGISTRY_URL = docker.io -- REGISTRY_USER = -- REGISTRY_PASSWORD = -- IMAGE_NAME = /ttmt-frontend -- CONTAINER_NAME = ttmt-frontend -- HOST_PORT = 80 - -## 7) Workflow can co -- .gitea/workflows/ci.yml -- .gitea/workflows/deploy-staging.yml - -## 8) Luong CI (build + test) -- Trigger: push, pull_request -- Cac buoc: - 1) Checkout - 2) Setup Node 22.14.0 - 3) npm ci - 4) npm run test - 5) npm run build - 6) Upload dist artifact - -## 9) Luong CD (deploy Docker truc tiep) -- Trigger: push len branch `main` -- Cac buoc: - 1) Build image tu Dockerfile - 2) Push len Docker Hub - 3) Pull va restart container tren chinh web server - -## 10) Kiem tra sau khi deploy -- Gitea -> Actions: job thanh cong -- Tren server: `docker ps` thay container dang chay -- Truy cap web bang IP/port da map - -## 11) Rollback nhanh -- Deploy lai tag cu: `staging-` - -## 12) Buoc tiep theo -1) Them secrets tren Gitea -2) Push len `main` de trigger deploy