Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • A Ahad Mobile
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • holatech
  • Ahad Mobile
  • Merge requests
  • !13

ci: auto-deploy develop to the staging Mac mini

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Khanh Pham requested to merge ci/staging-auto-deploy into develop Aug 21, 2026
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 3

Vấn đề

develop không chạy pipeline nào — workflow.rules chỉ nhận MR, main và tag v*.

deploy:staging cũng không thể chạy được với server hiện tại:

Thực tế
STAGING_HOST vẫn là PLACEHOLDER.staging.host.chua-co-server
Mac mini không có IPv4 public — chỉ có 100.67.39.124 (Tailscale)
runner-contabo 209.145.49.78, internet công cộng → không SSH tới được
Registry gitlab.hola.tech:5050 không kết nối được → không có image để docker pull

Cách xử lý

Cài GitLab Runner (macmini-staging, shell executor) ngay trên Mac mini. Runner tự gọi ra GitLab qua HTTPS nên không cần IP public, không cần SSH key, không cần registry.

  • workflow.rules + .be-rules: thêm develop
  • deploy:staging: chạy trên tag macmini-staging, GIT_STRATEGY: none, build tại chỗ bằng docker-compose.local.yaml
  • needs: ["be:build"] — deploy chỉ chờ backend compile, không chờ cả stage quality
  • Poll healthcheck sau up -d để container crash lúc boot làm fail pipeline thay vì pipeline xanh
  • deploy:production giữ nguyên template SSH

🤖 Generated with Claude Code

https://claude.ai/code/session_01WpoW7BfqdDAMoRVv3FWNRd

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: ci/staging-auto-deploy