close

Cách commit & push code từ Codex lên VPS chi tiết A-Z

Tác giả: Đông Tùng Ngày đăng: 31/08/2026 Chuyên mục: Vibe Code
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Viết code xong bằng Codex chỉ là bước đầu. Muốn website hay ứng dụng thật sự chạy được trên internet, bạn cần biết cách commit code đúng chuẩn và push code lên VPS an toàn. Trong bài viết, Tino sẽ hướng dẫn bạn cách commit & push code từ Codex lên VPS A-Z.

Codex có thể tự động commit và push code trực tiếp lên VPS không?

Có. Với cách làm mới trong bài này, bạn không cần tự chạy từng lệnh Git như git add, git commit, git push hay tự cấu hình toàn bộ VPS theo cách thủ công. Sau khi ứng dụng đã hoàn thành, bạn có thể yêu cầu Codex tiếp tục xử lý toàn bộ quy trình commit và triển khai trực tiếp lên VPS.

Codex có thể hỗ trợ theo chuỗi công việc như:

  • Kiểm tra source code hiện tại.
  • Phát hiện file nhạy cảm trước khi commit.
  • Khởi tạo Git repository nếu project chưa có Git.
  • Tạo commit với message phù hợp.
  • Tạo SSH Key để kết nối VPS.
  • Kết nối tới VPS qua SSH.
  • Cài Git và Nginx trên VPS nếu cần.
  • Tạo user deploy và Git repository trên VPS.
  • Cấu hình post-receive hook để tự động đưa source code mới vào thư mục website.
  • Thêm VPS thành Git remote.
  • Push branch main trực tiếp lên VPS.
  • Kiểm tra website sau khi deploy.
Codex có thể tự động commit và push code trực tiếp lên VPS không?
Codex có thể tự động commit và push code trực tiếp lên VPS không?

Bạn có thể hình dung quy trình như sau:

Codex hoàn thành ứng dụng
        ↓
Kiểm tra source code
        ↓
Git commit
        ↓
Thiết lập kết nối SSH
        ↓
Cấu hình VPS
        ↓
Git push
        ↓
VPS tự deploy phiên bản mới

Điểm khác biệt lớn so với cách làm thủ công là người dùng chủ yếu làm việc bằng prompt trong Codex, còn các lệnh Git và nhiều bước cấu hình server được Codex tự thực hiện sau khi bạn cấp quyền cần thiết.

Trong lần đầu tiên, bạn vẫn có thể phải can thiệp ở một vài bước bảo mật như:

  • Xác nhận SSH fingerprint.
  • Nhập mật khẩu VPS trong Terminal.
  • Cho phép Codex chạy một số câu lệnh hệ thống.
  • Thêm public SSH key theo hướng dẫn.

Sau khi VPS đã được cấu hình hoàn chỉnh, những lần cập nhật code sau thường đơn giản hơn rất nhiều. Bạn chỉ cần yêu cầu Codex kiểm tra thay đổi, tạo commit và push phiên bản mới lên remote vps.

Phần hướng dẫn dưới đây sẽ đi theo đúng cách này: thay vì tự gõ từng lệnh Git và SSH, chúng ta sẽ yêu cầu Codex tự động thực hiện phần lớn quy trình commit và push code lên VPS, chỉ can thiệp thủ công khi cần xác thực hoặc cấp quyền.

Cách commit & push code từ Codex lên VPS 

Trong ví dụ này, ứng dụng Bookmark Manager đã được tạo và chỉnh sửa hoàn chỉnh bằng Codex. VPS sử dụng Ubuntu 24.04 và ban đầu hoàn toàn trống.

Cần chuẩn bị gì trước khi bắt đầu?

Bạn cần chuẩn bị:

  • Ứng dụng đã hoàn thành trong Codex.
  • VPS Ubuntu đang hoạt động.
  • Địa chỉ IP VPS.
  • Tài khoản root.
  • Mật khẩu root.
  • Quyền SSH vào VPS.
  • Xshell để kiểm tra hoặc thao tác trực tiếp với VPS khi cần.
  • VPS có thể là VPS trống, chưa cần cài Git hoặc Nginx trước.

Trong ví dụ này:

  • IP VPS: 103.241.42.184
  • Hệ điều hành: Ubuntu 24.04
  • SSH user: root

Không nhập mật khẩu VPS trực tiếp vào nội dung prompt gửi cho Codex.

Cần chuẩn bị gì trước khi bắt đầu?
Cần chuẩn bị gì trước khi bắt đầu?

Bước 1: Hoàn thành ứng dụng trong Codex

Trước tiên, hãy để Codex tạo hoặc chỉnh sửa ứng dụng cho đến khi hoạt động đúng trên máy local.

Ví dụ với Bookmark Manager, bạn nên kiểm tra:

  • Thêm bookmark hoạt động.
  • Tìm kiếm hoạt động.
  • Xóa bookmark hoạt động.
  • Giao diện hiển thị đúng.
  • Không có lỗi JavaScript.

Khi đã ổn định, mới chuyển sang commit và push lên VPS.

Bước 2: Yêu cầu Codex commit và push lên VPS

Ngay trong cuộc trò chuyện đang làm project, gửi cho Codex một yêu cầu tương tự:

Ứng dụng Bookmark Manager đã hoàn thành. Bây giờ hãy giúp tôi commit source code và push trực tiếp lên VPS để chạy website.

Thông tin VPS:

IP: 103.241.42.184

Hệ điều hành: Ubuntu 24.04

SSH user hiện tại: root

VPS hoàn toàn mới, chưa cài Git hoặc Nginx.

Ứng dụng là HTML/CSS/JavaScript thuần.

Không sử dụng GitHub hoặc GitLab.

Hãy kiểm tra source code, khởi tạo Git nếu cần, kiểm tra dữ liệu nhạy cảm, tạo commit, chuẩn bị SSH key, kết nối VPS, cài Git và Nginx, tạo user deploy, tạo Git repository trên VPS, cấu hình tự động deploy, thêm VPS thành Git remote và push branch main lên VPS.

Không sử dụng force push. Nếu cần tôi xác nhận fingerprint hoặc nhập mật khẩu SSH, hãy dừng và báo cho tôi.

Sau đó Codex bắt đầu xử lý.

Yêu cầu Codex commit và push lên VPS
Yêu cầu Codex commit và push lên VPS

Bước 3: Cho phép Codex tạo commit

Codex sẽ kiểm tra source code trước.

Trong ví dụ thực tế, Codex đã:

  • Kiểm tra 5 file của project.
  • Kiểm tra dữ liệu nhạy cảm.
  • Kiểm tra JavaScript.
  • Stage source code.
  • Chuẩn bị commit trên branch main.

Khi Codex hỏi có cho phép tạo commit hay không, bạn sẽ thấy nút dạng:

Allow once hoặc Allow similar commands

Nếu câu lệnh đúng là Git commit cho project hiện tại, chọn Allow once là lựa chọn dễ kiểm soát nhất.

Cho phép Codex tạo commit
Cho phép Codex tạo commit

Codex sau đó tạo commit, ví dụ:

432b474 feat: build bookmark manager web app

Đến đây source code đã được lưu thành một phiên bản Git trên máy local.

Bước 4: Cho phép Codex tạo SSH Key

Nếu máy chưa có SSH key phù hợp, Codex sẽ đề nghị tạo một key Ed25519 riêng cho việc deploy.

Ví dụ:

id_ed25519_bookmark_manager_deploy

Khi Codex hỏi:

Có cho phép tạo key Ed25519 riêng cho deploy Bookmark Manager không?

Bạn có thể chọn Allow once.

Cho phép Codex tạo SSH Key
Cho phép Codex tạo SSH Key

Codex sẽ tạo:

  • Private key: giữ trên máy.
  • Public key: dùng để cấp quyền cho VPS.

Không cần tự copy private key đi đâu.

Bước 5: Cho phép Codex kết nối SSH đến VPS

Tiếp theo Codex sẽ thử kết nối:

ssh root@103.241.42.184

Codex có thể yêu cầu quyền chạy lệnh SSH.

Nếu IP đúng VPS của bạn, chọn Allow once.

Cho phép Codex kết nối SSH đến VPS
Cho phép Codex kết nối SSH đến VPS

Bước 6: Xử lý cảnh báo “Remote host identification has changed”

Trong lần thực tế, SSH đã dừng với cảnh báo:

REMOTE HOST IDENTIFICATION HAS CHANGED

Điều này có nghĩa máy tính đang lưu một SSH fingerprint cũ cho cùng IP VPS.

Không nên bỏ qua cảnh báo ngay.

Codex sẽ hiển thị fingerprint mới, ví dụ:

SHA256:Kwob1H+W/iO2ftogz8yIRIvu0gn+v4AnsnMQGEuTCjs

Bước 7: Kiểm tra Fingerprint bằng Xshell

Mở Xshell và đăng nhập VPS bằng root.

Sau đó chạy:

ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

VPS sẽ trả về fingerprint.

Ví dụ:

256 SHA256:Kwob1H+W/iO2ftogz8yIRIvu0gn+v4AnsnMQGEuTCjs root@huynhdongtung

So sánh chuỗi SHA256: này với chuỗi Codex vừa hiển thị.

Nếu giống hoàn toàn, bạn đã xác nhận đây đúng là VPS của mình.

Bước 8: Yêu cầu Codex cập nhật Known_hosts

Quay lại Codex và gửi:

Fingerprint khớp, hãy cập nhật known_hosts.

Codex sẽ xóa SSH host key cũ của đúng IP đó và thử kết nối lại.

Yêu cầu Codex cập nhật Known_hosts
Yêu cầu Codex cập nhật Known_hosts

Về cơ bản, Codex sẽ thực hiện thao tác tương tự:

ssh-keygen -R 103.241.42.184

Sau đó SSH lại VPS.

Bước 9: Xác nhận Fingerprint trong Terminal

Codex sẽ mở Terminal và bạn cần chạy:

ssh root@103.241.42.184
Xác nhận Fingerprint trong Terminal
Xác nhận Fingerprint trong Terminal

Terminal có thể hiện:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

Lúc này mới nhập:

yes

rồi nhấn Enter.

Cách commit & push code từ Codex lên VPS chi tiết A-Z 1

SSH sẽ lưu fingerprint mới:

Warning: Permanently added '103.241.42.184'...

Bước 10: Nhập mật khẩu root trực tiếp trong Terminal

Sau đó Terminal hiện:

root@103.241.42.184's password:

Nhập mật khẩu VPS tại đây rồi nhấn Enter.

Nhập mật khẩu root trực tiếp trong Terminal
Nhập mật khẩu root trực tiếp trong Terminal

Khi nhập mật khẩu SSH:

  • Không hiện ký tự.
  • Không hiện dấu *.
  • Nhìn giống như chưa nhập gì.

Đây là hành vi bình thường.

Khi thành công, bạn sẽ thấy:

root@huynhdongtung:~#

Như vậy SSH đã đăng nhập VPS thành công.

Bước 11: Báo cho Codex biết SSH đã đăng nhập

Quay lại ô chat Codex và gửi:

SSH đã đăng nhập thành công. Hãy tiếp tục cấu hình VPS để deploy Bookmark Manager.

Hãy tự thực hiện lần lượt:

Cài Git và Nginx.

Tạo user deploy.

Dùng SSH public key mà bạn vừa tạo để cấu hình đăng nhập cho user deploy.

Tạo Git bare repository tại /home/deploy/repos/bookmark-manager.git.

Tạo thư mục website /var/www/bookmark-manager.

Cấp quyền phù hợp cho user deploy.

Tạo post-receive hook để mỗi lần push branch main, source code tự được đưa vào /var/www/bookmark-manager.

Cấu hình Nginx phục vụ Bookmark Manager từ thư mục trên.

Kiểm tra cấu hình Nginx.

Sau khi hoàn thành phần VPS, hãy kiểm tra SSH bằng user deploy. Nếu kết nối thành công, tiếp tục cấu hình Git remote và push source code.

Nếu có bước cần tôi xác nhận thủ công, hãy dừng và báo cho tôi.

Codex sẽ tiếp tục các phần còn lại.

Báo cho Codex biết SSH đã đăng nhập
Báo cho Codex biết SSH đã đăng nhập

Bước 12: Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần

Trong quá trình thực tế, phiên SSH tương tác có thể bị đóng khi Codex chuyển sang bước khác. Để Codex có thể tự động tiếp tục, Codex sẽ yêu cầu bạn thêm public key vừa tạo vào tài khoản root.

Codex sẽ cung cấp một nhóm lệnh gần giống:

install -d -m 700 /root/.ssh

touch /root/.ssh/authorized_keys

...

chmod 600 /root/.ssh/authorized_keys

Chạy các lệnh mà Codex cung cấp trực tiếp trong Terminal đang đăng nhập root.

Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần
Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần

Đây chỉ là public key, không phải private key.

Sau khi chạy xong, trả lời Codex:

Đã thêm key root.

Từ đây Codex có thể SSH vào VPS bằng key mà không bắt bạn nhập lại mật khẩu nhiều lần.

Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần
Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần

Bước 13: Codex tự cài git và nginx

Sau khi SSH key hoạt động, Codex có thể tự thực hiện phần VPS.

Codex sẽ cài:

  • Git: Dùng để nhận source code.
  • Nginx: Dùng để phục vụ website ra Internet.

Bạn chỉ cần phê duyệt khi Codex yêu cầu chạy các câu lệnh phù hợp.

Bước 14: Codex tạo user deploy

Codex sẽ tạo user:

deploy

Mục đích là để các lần push code sau không cần sử dụng tài khoản root.

Codex đồng thời cấu hình SSH key cho user deploy.

Khi hoàn tất, Codex có thể đăng nhập:

ssh deploy@103.241.42.184

bằng SSH key.

Bước 15: Codex tạo git repository trên VPS

Codex tạo một Git bare repository tại:

/home/deploy/repos/bookmark-manager.git

Repository này chuyên dùng để nhận:

git push

từ máy local.

Đây không phải thư mục website trực tiếp.

Bước 16: Codex tạo thư mục chạy website

Source code thực tế sẽ được đưa vào:

/var/www/bookmark-manager

Bước 17: Codex tạo Post-receive hook

Codex cấu hình Git hook:

post-receive

Mục đích là tự động đưa source code mới sang thư mục website mỗi khi branch main được push.

Bước 18: Codex cấu hình nginx

Codex sẽ cấu hình Nginx sử dụng:

/var/www/bookmark-manager

làm website root.

Sau đó kiểm tra cấu hình Nginx.

Nếu hợp lệ, dịch vụ sẽ được reload và sẵn sàng phục vụ Bookmark Manager.

Bước 19: Codex thêm VPS thành git remote

Sau khi VPS đã sẵn sàng, Codex cấu hình một Git remote tên:

vps

Remote này trỏ tới:

deploy@103.241.42.184:/home/deploy/repos/bookmark-manager.git

Từ đây project local đã biết nơi cần gửi source code.

Bước 20: Codex push branch main lên VPS

Codex thực hiện:

git push -u vps main

Commit đã tạo trước đó sẽ được gửi trực tiếp từ máy local sang VPS, không qua GitHub.

Bước 21: Codex kiểm tra website

Sau khi push thành công, Codex sẽ kiểm tra các file HTML, CSS và JavaScript.

Trong lần thực tế, Codex xác nhận các tài nguyên trả về:

HTTP 200

Đồng thời xác nhận:

  • Git đã được cài.
  • Nginx đang chạy.
  • User deploy hoạt động.
  • Bare repository đã được tạo.
  • post-receive hoạt động.
  • Branch local main đang theo dõi vps/main.
  • Không sử dụng git push –force.
Codex kiểm tra website
Codex kiểm tra website
Codex kiểm tra website
Codex kiểm tra website

Bước 22: Mở website trên trình duyệt

Truy cập:

http://103.241.42.184

Nếu Bookmark Manager hiển thị giống phiên bản local thì quá trình deploy đã hoàn tất.

Trong ví dụ thực tế, website đã chạy thành công trực tiếp từ VPS.

Mở website trên trình duyệt
Mở website trên trình duyệt

Lưu ý: Trình duyệt hiện “Không bảo mật” là bình thường vì website hiện mới chạy bằng HTTP. Muốn có HTTPS, bước tiếp theo cần trỏ tên miền về VPS và cài chứng chỉ SSL/TLS.

Sau khi push code lên VPS cần kiểm tra gì?

  • Mở địa chỉ IP VPS trên trình duyệt để kiểm tra website.
  • Kiểm tra giao diện có hiển thị đúng như phiên bản local hay không.
  • Thử các chức năng chính của ứng dụng.
  • Kiểm tra file CSS và JavaScript có tải đầy đủ hay không.
  • Nếu website không hiển thị, kiểm tra trạng thái Nginx.
  • Có thể yêu cầu Codex kiểm tra HTTP response của website.
  • Với ứng dụng Bookmark Manager trong ví dụ, phản hồi HTTP 200 cho thấy web server đang phục vụ nội dung thành công.
Sau khi push code lên VPS cần kiểm tra gì?
Sau khi push code lên VPS cần kiểm tra gì?

Cách cập nhật code lên VPS trong những lần sau

Sau lần cấu hình đầu tiên, bạn không cần thiết lập lại VPS.

Mỗi khi Codex sửa hoặc bổ sung tính năng:

  • Yêu cầu Codex kiểm tra các file vừa thay đổi.
  • Kiểm tra Git diff trước khi commit.
  • Tạo commit mới với nội dung mô tả phù hợp.
  • Push branch main lên remote vps.
  • Git hook trên VPS sẽ tự cập nhật source code.
  • Refresh website để kiểm tra phiên bản mới.

Bạn có thể gửi prompt ngắn cho Codex:

Kiểm tra các thay đổi vừa thực hiện. Nếu mọi thứ ổn, hãy tạo commit với message phù hợp và push branch main lên remote vps. Không sử dụng force push.

Có nên để Codex tự động commit và push không?

Có thể, đặc biệt sau khi VPS đã được cấu hình hoàn chỉnh.

Ưu điểm:

  • Không phải nhớ nhiều lệnh Git.
  • Giảm thao tác thủ công.
  • Cập nhật ứng dụng nhanh hơn.
  • Codex có thể kiểm tra Git trước khi commit.
  • Codex có thể tự tạo commit message phù hợp.
Có nên để Codex tự động commit và push không?
Có nên để Codex tự động commit và push không?

Tuy nhiên:

  • Nên xem git diff trước những thay đổi quan trọng.
  • Không cấp quyền rộng hơn mức cần thiết.
  • Không cho phép force push tùy tiện.
  • Nên kiểm tra website sau khi deploy.
  • Với hệ thống production quan trọng, nên bổ sung quy trình review hoặc CI/CD.

Các bài viết liên quan:

Kết luận

Push code từ Codex lên VPS không phải là thao tác phức tạp một khi đã hiểu rõ từng bước. Khi nắm chắc quy trình này, bạn có thể tận dụng tối đa sức mạnh của Codex trong việc viết code, đồng thời tự tin đưa sản phẩm ra môi trường thật một cách an toàn, ổn định và hoàn toàn chủ động, không phụ thuộc vào bên thứ ba. 

Những câu hỏi thường gặp

Có cần GitHub để push code từ Codex lên VPS không?

Không. Bạn có thể sử dụng VPS trực tiếp làm Git remote như ví dụ trong bài. GitHub chỉ là một lựa chọn trung gian khác.

Tại sao cần SSH Key?

SSH Key giúp máy tính xác thực với VPS mà không phải nhập mật khẩu mỗi lần push. Đây cũng là phương pháp thuận tiện cho quá trình deploy tự động.

Có nên cho Codex đăng nhập VPS bằng root không?

Chỉ nên dùng root cho bước cấu hình ban đầu khi thực sự cần quyền quản trị. Sau đó nên sử dụng một user riêng như deploy.

Tại sao push thành công nhưng website chưa cập nhật?

Nguyên nhân có thể đến từ Git hook, quyền thư mục, cache trình duyệt hoặc cấu hình Nginx. Hãy kiểm tra source code trong thư mục website trước, sau đó kiểm tra Nginx.

Những lần sau có cần SSH bằng Xshell nữa không?

Thông thường không. Khi SSH Key, Git remote và post-receive đã được cấu hình đúng, Codex có thể push phiên bản mới trực tiếp. Xshell chủ yếu cần khi quản trị hoặc xử lý sự cố trên VPS.

Có thể yêu cầu Codex sửa code rồi tự commit và push trong một lần không?

Có. Bạn có thể yêu cầu Codex sửa tính năng, kiểm tra thay đổi, tạo commit và push lên remote vps. Với project quan trọng, vẫn nên review thay đổi trước bước push.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Mục lục
  1. Codex có thể tự động commit và push code trực tiếp lên VPS không?
  2. Cách commit & push code từ Codex lên VPS 
    1. Cần chuẩn bị gì trước khi bắt đầu?
    2. Bước 1: Hoàn thành ứng dụng trong Codex
    3. Bước 2: Yêu cầu Codex commit và push lên VPS
    4. Bước 3: Cho phép Codex tạo commit
    5. Bước 4: Cho phép Codex tạo SSH Key
    6. Bước 5: Cho phép Codex kết nối SSH đến VPS
    7. Bước 6: Xử lý cảnh báo “Remote host identification has changed”
    8. Bước 7: Kiểm tra Fingerprint bằng Xshell
    9. Bước 8: Yêu cầu Codex cập nhật Known_hosts
    10. Bước 9: Xác nhận Fingerprint trong Terminal
    11. Bước 10: Nhập mật khẩu root trực tiếp trong Terminal
    12. Bước 11: Báo cho Codex biết SSH đã đăng nhập
    13. Bước 12: Thêm SSH public key để Codex không phải hỏi mật khẩu nhiều lần
    14. Bước 13: Codex tự cài git và nginx
    15. Bước 14: Codex tạo user deploy
    16. Bước 15: Codex tạo git repository trên VPS
    17. Bước 16: Codex tạo thư mục chạy website
    18. Bước 17: Codex tạo Post-receive hook
    19. Bước 18: Codex cấu hình nginx
    20. Bước 19: Codex thêm VPS thành git remote
    21. Bước 20: Codex push branch main lên VPS
    22. Bước 21: Codex kiểm tra website
    23. Bước 22: Mở website trên trình duyệt
  3. Sau khi push code lên VPS cần kiểm tra gì?
  4. Cách cập nhật code lên VPS trong những lần sau
  5. Có nên để Codex tự động commit và push không?
  6. Kết luận
  7. Những câu hỏi thường gặp

Xem nhiều