Docker
Image Docker phục vụ web tĩnh, đặt tại thư mục docker/.
Thành phần
| File | Nội dung |
|---|---|
Dockerfile |
Base nginx:alpine, copy html/ vào /usr/share/nginx/html/, expose port 80 |
html/index.html |
Nội dung trang tĩnh |
.gitlab-ci.yml |
Pipeline CI |
Build & chạy local
cd docker
docker build -t tri-docker .
docker run --rm -p 8080:80 tri-docker
Truy cập http://localhost:8080.
CI/CD
Pipeline hiện chỉ có stage test (kiểm tra runner hoạt động). Stage build để build và push image lên Artifact Registry đã được soạn sẵn nhưng đang comment, cần:
- Tạo service account có quyền
roles/artifactregistry.writer. - Thêm biến CI/CD
GCP_SA_KEY(Masked + Protected) chứa JSON key của service account đó. - Bỏ comment phần
buildtrong.gitlab-ci.yml.
Image được đẩy tới:
asia-southeast1-docker.pkg.dev/user-muzhdsctkweb/tri-docker-repo/tri-docker
Lưu ý: project ID trong
.gitlab-ci.yml(user-muzhdsctkweb) khác vớiproject_idmặc định trong Terraform (user-twfljuofjeac) — kiểm tra lại trước khi bật pipeline build.
Chạy trên tri-docker-vm
VM tri-docker-vm (tạo bởi Terraform) đã cài sẵn Docker Engine qua startup script. Sau khi SSH vào VM, có thể pull image từ Artifact Registry và chạy trực tiếp bằng docker run hoặc docker compose.