fix UI and add CI/CD 2
Some checks failed
CI / build-test (push) Failing after 3m9s
Deploy Staging (Docker) / deploy (push) Failing after 7s

This commit is contained in:
Do Manh Phuong 2026-05-10 21:51:32 +07:00
parent 9cd61df647
commit be8cc76b08
3 changed files with 2 additions and 122 deletions

View File

@ -6,7 +6,7 @@ on:
jobs:
build-test:
runs-on: ubuntu-latest
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@ -6,7 +6,7 @@ on:
jobs:
deploy:
runs-on: ubuntu-latest
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v4

View File

@ -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 EcAi7bNFMbDf1OcwTCem3dyFXOao1IW9Qfs1Ugb6 \
--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 = <dockerhub_username>
- REGISTRY_PASSWORD = <dockerhub_access_token>
- IMAGE_NAME = <dockerhub_username>/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-<commit SHA>`
## 12) Buoc tiep theo
1) Them secrets tren Gitea
2) Push len `main` de trigger deploy