Sau khi triển khai OpenChamber với Docker và Cloudflare Tunnel, bước thực tế tiếp theo là kết nối nó với source code thật. Với nhiều team engineering, điều đó nghĩa là GitLab: private repositories, branches, merge requests, SSH keys, project conventions và development servers cần chạy an toàn trong một AI coding workspace tự host.
Bài viết này hoàn thiện workflow tích hợp GitLab với OpenChamber. Bạn sẽ học cách chọn SSH hay HTTPS authentication, clone repository vào đúng mounted workspace, đăng ký project trong OpenChamber, quản lý branches và chạy development servers mà không làm lộ credentials.
Nếu chưa hoàn tất phần infrastructure, hãy đọc trước Triển Khai OpenChamber với Docker & Cloudflare Tunnel. Bài này giả định OpenChamber đã chạy ổn định và được bảo vệ bằng một lớp truy cập an toàn.

OpenChamber làm việc với GitLab project như thế nào?
OpenChamber không nhất thiết phải kết nối chặt với GitLab API. Mô hình bền vững hơn là để GitLab làm source of truth, Git xử lý authentication và repository operations, còn OpenChamber làm việc với các thư mục local đã được clone vào mounted workspace.
Workflow khuyến nghị
- Chuẩn bị thư mục projects có persistent volume trên host.
- Xác thực GitLab bằng SSH hoặc HTTPS.
- Clone repository vào mounted workspace.
- Đăng ký hoặc mở thư mục local trong OpenChamber.
- Làm việc với branches, commits và merge requests như bình thường.
Cách này portable, dễ backup và dễ audit hơn so với việc để repository nằm trong container layer khó kiểm soát.
Yêu cầu trước khi tích hợp GitLab
- OpenChamber đã deploy và truy cập được.
- Tài khoản GitLab có quyền vào repository cần dùng.
- Docker volumes đã map cho projects và config.
- Nắm Git cơ bản: clone, branch, commit, push, pull.
- Có kế hoạch quản lý SSH keys, deploy keys hoặc personal access tokens.
Nếu bạn muốn xây dựng quy trình AI coding nghiêm túc hơn, xem thêm Superpowers: Khi AI coding vận hành theo quy trình.
SSH và HTTPS authentication cho GitLab
GitLab hỗ trợ cả SSH keys và HTTPS access tokens. Cả hai đều dùng được, nhưng phù hợp với nhu cầu khác nhau.
SSH authentication: lựa chọn khuyến nghị
SSH thường là mặc định tốt hơn cho workspace chạy lâu dài vì credentials không nằm trong clone URL. Bạn có thể tạo key riêng cho OpenChamber, giới hạn quyền và rotate khi cần.
ssh-keygen -t ed25519 -C "openchamber@gitlab" -f ~/.ssh/openchamber_gitlab
cat ~/.ssh/openchamber_gitlab.pub
ssh -T [email protected]
HTTPS token: tiện nhưng cần cẩn thận
HTTPS token tiện cho thử nghiệm nhanh hoặc môi trường bị chặn SSH. Rủi ro là token dễ bị lộ trong shell history, logs, prompt hoặc tài liệu chung.

Chuẩn bị thư mục projects cho OpenChamber
Repository nên nằm trong thư mục mounted volume để không mất dữ liệu khi container recreate. Một convention rõ ràng là:
/opt/openchamber/projects/
backend-api/
frontend-app/
infra-tools/
Clone GitLab repository an toàn
cd /opt/openchamber/projects
git clone [email protected]:your-group/your-project.git
cd your-project
git status
Nếu dùng SSH key riêng, cấu hình rõ trong ~/.ssh/config.

Đăng ký repository trong OpenChamber
Khi repository đã nằm trong mounted projects directory, hãy mở hoặc đăng ký thư mục đó trong OpenChamber. Nguyên tắc quan trọng là OpenChamber trỏ vào local path, không phải một remote URL chứa token.
Cần kiểm tra sau khi đăng ký
- OpenChamber đọc được files trong repository.
- File edits vẫn còn sau khi restart container.
git statuschạy đúng trong workspace.- AI assistant chỉ thấy project cần thiết, không đọc thư mục host không liên quan.
- Secrets không xuất hiện trong committed files.
Quản lý branches và AI coding an toàn
Không nên để workflow AI sửa trực tiếp default branch. Hãy coi OpenChamber như môi trường developer thật: tạo feature branch, thay đổi nhỏ, test, commit, push và review qua merge request.
Branch flow khuyến nghị
git checkout main
git pull
git checkout -b feature/openchamber-gitlab-setup
# make changes
git status
git add .
git commit -m "Improve OpenChamber GitLab workflow"
git push -u origin feature/openchamber-gitlab-setup
Cách này giúp mọi thay đổi do AI hỗ trợ đều có diff rõ ràng để con người review.

Chạy development servers từ GitLab projects
Sau khi clone và đăng ký repository, OpenChamber có thể hỗ trợ chạy commands development. Điều quan trọng là kiểm soát cách dev server bind network.
Thực hành an toàn
- Cài dependencies đúng trong project cần dùng.
- Ưu tiên bind local-only nếu không cần expose.
- Dùng port riêng cho từng project.
- Document startup commands trong README hoặc scripts.
- Tắt servers không dùng để tiết kiệm RAM và giảm attack surface.
npm install
npm run dev -- --host 127.0.0.1 --port 3000

Checklist bảo mật GitLab và OpenChamber
- Dùng SSH keys hoặc scoped tokens riêng cho OpenChamber.
- Không lưu credentials trong repository.
- Dùng Cloudflare Access hoặc lớp identity tương đương cho UI OpenChamber.
- Giới hạn mounted directories ở mức cần thiết.
- Review quyền GitLab khi thành viên team thay đổi vai trò.
- Backup repositories và OpenChamber configuration.
- Theo dõi lỗi authentication bất thường.
Bạn cũng có thể đọc OpenScreen – Tool Screen Recording Hoàn Toàn Mới nếu quan tâm đến các developer tools ưu tiên khả năng kiểm soát và minh bạch.
Lỗi thường gặp và cách xử lý
Permission denied khi clone bằng SSH
Kiểm tra public key đã thêm vào GitLab, private key có permission đúng và SSH config trỏ đúng key.
chmod 600 ~/.ssh/openchamber_gitlab
ssh -vT [email protected]
Git chạy trên host nhưng không chạy trong container
Container có thể không thấy cùng SSH keys, known_hosts hoặc mounted project directory. Kiểm tra volume mappings và user permissions.
Thay đổi bị mất sau khi restart OpenChamber
Repository có thể đang nằm trong filesystem của container thay vì mounted volume. Hãy di chuyển nó vào host projects directory rồi đăng ký lại path đó.
Kết luận
Tích hợp GitLab với OpenChamber hiệu quả nhất khi GitLab vẫn là source of truth, còn OpenChamber có một workspace persistent và bảo mật cho AI-assisted development. Dùng SSH nếu có thể, đặt repositories trong mounted directories, làm việc qua feature branches và chỉ expose dev servers khi thật sự cần.
Với setup này, OpenChamber không chỉ là môi trường demo. Nó trở thành workspace tự host thực tế, nơi AI có thể hỗ trợ dự án thật mà team vẫn kiểm soát code, credentials và review workflow.
Câu hỏi thường gặp
OpenChamber có kết nối trực tiếp với GitLab API không?
Không nhất thiết. Workflow an toàn hơn là xác thực Git, clone repository vào workspace đã mount, rồi đăng ký thư mục local đó như một OpenChamber project.
Nên dùng SSH hay HTTPS token cho GitLab?
SSH thường phù hợp hơn cho workspace tự host chạy lâu dài vì key dễ scope, dễ rotate và không cần nhúng token trong clone URL.
Repository nên đặt ở đâu trong OpenChamber?
Nên đặt repository trong thư mục projects được mount từ host, ví dụ /opt/openchamber/projects. Không nên lưu code quan trọng chỉ bên trong filesystem của container.
Làm sao bảo mật GitLab credentials?
Dùng deploy key hoặc token có scope hẹp, không commit secrets, không ghi token vào tài liệu chung, và review quyền truy cập định kỳ.
OpenChamber có chạy được development server từ GitLab project không?
Có. Sau khi clone repository và cài dependencies, bạn có thể chạy dev server trong workspace. Hãy bind local-only nếu có thể và chỉ expose ra ngoài khi thật sự cần.

