Cơ sở tri thức

Triển khai với Zinnector®: liên kết, kiểm tra, đẩy

Từ dự án cục bộ đến trang web trực tiếp: đăng nhập bằng khóa API, liên kết dự án với khe lưu trữ, đọc kiểm tra sơ bộ so sánh PHP, dung lượng đĩa và WordPress của bạn với khe lưu trữ, và đẩy lên — cùng với việc triển khai lại, lịch sử triển khai và nhật ký bản dựng khi xảy ra sự cố.

Khi dự án đã chạy cục bộ, bốn lệnh sau sẽ đưa dự án lên một trang web đang hoạt động trên dịch vụ lưu trữ của Zinn Digital®: đăng nhập, liên kết dự án với một slot lưu trữ, đọc bước kiểm tra trước khi triển khai (pre-flight) và push. Bài viết này hướng dẫn chi tiết từng lệnh, nội dung được in ra, và các lệnh quý khách sẽ sử dụng sau đó — triển khai lại, lịch sử triển khai và nhật ký bản dựng.

Đăng nhập bằng khóa API

Tạo một khóa trong bảng điều khiển tại mục Cài đặt → Khóa API, sau đó:

zinnector login

Khóa được nhập tại dấu nhắc lệnh — khóa không bao giờ được chấp nhận trực tiếp trên dòng lệnh, vì vậy khóa không thể xuất hiện trong lịch sử shell hoặc danh sách tiến trình của quý khách. Trong CI, hãy truyền khóa qua pipe: echo "$ZINN_API_KEY" | zinnector login --profile ci, hoặc thiết lập ZINNECTOR_TOKEN và bỏ qua hoàn toàn lệnh login. Khóa được xác minh trước khi lưu và được lưu với quyền tệp 600. Lệnh zinnector whoami --scopes hiển thị tổ chức mà quý khách đang đăng nhập và các quyền mà khóa sở hữu; khóa sandbox sẽ được gắn nhãn tương ứng.

Liên kết dự án với một slot

zinnector link                                   # chọn một trang web từ danh sách
zinnector link example.com --repo acme/site --branch main

link ghi ID của trang web vào zinnector.json và, trừ khi quý khách truyền --no-repo, sẽ kết nối git remote của dự án với trang web trên nền tảng để mỗi lượt push đều thực hiện triển khai. Hãy commit tệp zinnector.json: một đồng nghiệp khi nhân bản (clone) kho lưu trữ sẽ có thể triển khai đến cùng một nơi mà không cần hướng dẫn thêm. Tệp này không chứa thông tin bảo mật nào.

Đọc bước kiểm tra trước khi triển khai

zinnector check

Đây chính là lệnh tạo nên giá trị của CLI. Lệnh này so sánh dự án của quý khách với slot chuẩn bị được triển khai và in ra mọi điểm không tương thích — cùng mọi phép so sánh không thể thực hiện:

  • Phiên bản PHP, với mức chênh lệch phiên bản chính (major) được xếp loại cao vì chắc chắn sẽ gây lỗi trang web và mức chênh lệch phiên bản phụ (minor) được xếp loại thấp hơn, bởi việc đánh giá mọi thứ là nghiêm trọng sẽ khiến người dùng bỏ qua cảnh báo.
  • Liệu slot có thể chuyển đổi sang phiên bản quý khách đã dùng để dựng hay không, liệu PHP của slot đã hết vòng đời hỗ trợ (EOL) hay chưa, và liệu máy chủ đã áp dụng phiên bản đó hay mới chỉ nhận lệnh.
  • Dung lượng và số lượng tệp của dự án so với dung lượng đĩa và inode thực tế còn lại trên slot — một cây thư mục WordPress có thể hết số lượng tệp cho phép dù vẫn còn cách xa giới hạn dung lượng đĩa.
  • Phiên bản WordPress ở mỗi bên, liệu slot đã hoàn tất quá trình khởi tạo (provisioning) hay chưa, và liệu kho lưu trữ đã được kết nối để push hay chưa.

Lệnh chỉ cảnh báo chứ không bao giờ chặn. Mọi kết quả đều có thể ghi đè bằng zinnector push --force, vì quý khách hiểu rõ trang web của mình hơn một công cụ kiểm tra. Phép so sánh không thể thực hiện sẽ được báo cáo là không xác định (unknown), không bao giờ tính là đạt (pass), và phần tóm tắt luôn nêu rõ có bao nhiêu trường hợp như vậy. Theo mặc định, phiên bản PHP cục bộ là phiên bản được khai báo trong zinnector.json; cờ --probe sẽ khởi động môi trường thực thi cục bộ và đo lường trực tiếp. Cờ --strict cũng sẽ thoát với mã lỗi khác 0 khi gặp các trường hợp không xác định, đây là điều mà cổng kiểm soát CI yêu cầu.

Push

zinnector push

push thực hiện kiểm tra pre-flight, push các commit của quý khách, kích hoạt quá trình triển khai và theo dõi cho đến khi hoàn tất, in ra trạng thái cuối cùng và commit đã được triển khai. Cờ --dry-run thực hiện mọi thao tác ngoại trừ việc triển khai; --no-wait kích hoạt triển khai và thoát ngay; --no-git triển khai bất kỳ nội dung nào nền tảng hiện có mà không cần push. Nếu commit được triển khai không phải là commit vừa được push, lệnh sẽ thông báo điều đó.

Khi xảy ra sự cố

zinnector deploys example.com        # lịch sử triển khai — trạng thái, commit, trình kích hoạt, thông báo
zinnector logs example.com --build   # nhật ký bản dựng của lần triển khai gần nhất
zinnector logs example.com --error   # nhật ký lỗi của trang web
zinnector deploy example.com         # triển khai lại nội dung nền tảng hiện có
zinnector ai "why is my deploy failing?"

zinnector ai chạy trên nền tảng với chính tài khoản của quý khách, do đó công cụ có thể xem cùng lịch sử triển khai và nhật ký. Từ bên trong dự án, công cụ sẽ gửi cấu trúc dự án — tên thư mục, phiên bản và ID trang web — và tuyệt đối không gửi nội dung tệp.

Liên quan

Tất cả tài liệu dành cho nhà phát triển →

Mới nhất từ blog

Những gì chúng tôi đã viết về lưu trữ web, SEO và vận hành trang web ở quy mô lớn.

SEO và xây dựng liên kết từ tầng lưu trữ: Góc nhìn của nhà vận hành năm 2026

Cách dịch vụ lưu trữ định hình việc lập chỉ mục và giá trị liên kết (link equity) vào năm 2026: giữ cho các trang luôn được lập chỉ mục, kiểm tra kỹ lưỡng các tên miền cũ trước khi xây dựng, xây dựng liên kết mà không để lại dấu vết (footprint), và một cái nhìn thẳng thắn về những gì cơ sở hạ tầng có thể và không thể làm cho SEO.

Đọc bài viết →

Giúp WordPress nhanh chóng và an toàn: Danh sách kiểm tra hiệu suất và plugin

Danh sách kiểm tra thực tế cho một trang WordPress nhanh và an toàn: lưu vào bộ nhớ đệm ở cấp độ máy chủ, bộ nhớ đệm đối tượng cho từng trang web, số ít plugin đáng sử dụng, duy trì ngăn xếp công nghệ luôn mới nhất và các trang WooCommerce mà quý vị tuyệt đối không bao giờ được lưu vào bộ nhớ đệm.

Đọc bài viết →

Cách chọn dịch vụ lưu trữ web được quản lý vào năm 2026: Hướng dẫn cho người mua

Điều thực sự tạo nên sự khác biệt giữa dịch vụ lưu trữ được quản lý tốt và một máy chủ giá rẻ có bảng điều khiển — di chuyển dữ liệu, sao lưu, cách ly, bộ nhớ đệm thực sự và khả năng mở rộng trung thực — và cách đánh giá dịch vụ đó trước khi bạn cam kết.

Đọc bài viết →

Đọc blog →

Vẫn gặp khó khăn?

Hỗ trợ được bao gồm trong mọi gói, bộ phận chăm sóc khách hàng hoạt động 24 giờ một ngày và quý khách có thể viết thư cho chúng tôi bằng bất kỳ ngôn ngữ nào trong số 58 ngôn ngữ của chúng tôi — chúng tôi sẽ trả lời quý khách bằng ngôn ngữ của quý khách.

Liên hệ hỗ trợ → Tất cả bài viết →