Shipyard
chính thứcCLI Shipyard cung cấp máy chủ MCP để các tác nhân quản lý trực tiếp môi trường Shipyard: bằng cách kéo log, so sánh nhánh, chạy kiểm thử, và dừng/khởi động môi trường.
Bạn có thể làm gì với Shipyard MCP?
- Liệt kê môi trường với bộ lọc — Yêu cầu hiển thị môi trường được lọc theo repo, nhánh hoặc pull request qua
shipyard get environments. - Kiểm tra chi tiết môi trường — Truy xuất thông tin đầy đủ cho một UUID môi trường cụ thể, bao gồm cả token bỏ qua để viết script.
- Quản lý vòng đời môi trường — Dừng, khởi động lại, hủy bản dựng, dựng lại hoặc khôi phục môi trường đã xóa theo UUID.
- Truy cập dịch vụ và nhật ký — Lấy các cổng được mở, phát trực tiếp nhật ký, thực thi lệnh hoặc chuyển tiếp cổng vào dịch vụ của môi trường đang chạy.
- Xử lý ổ đĩa và ảnh chụp nhanh — Liệt kê, đặt lại, chụp nhanh, tải hoặc tải lên tệp vào ổ đĩa trong môi trường.
- Triển khai môi trường tách rời — Nhân bản một bản dựng ứng dụng với các ghi đè nhánh tùy chỉnh và chính sách dựng lại.
Tài liệu
CLI Shipyard
Một công cụ để quản lý Môi trường Tạm thời trên nền tảng Shipyard.
Đang sử dụng trợ lý AI? CLI bao gồm một máy chủ MCP: xem Sử dụng Shipyard từ trợ lý AI.
Cài đặt
-
Linux và macOS
curl https://www.shipyard.sh/install.sh | bash -
Windows Điều hướng đến trang phát hành và tải xuống tệp thực thi cho Windows.
-
Homebrew
brew tap shipyard/tap brew install shipyard
Đăng nhập
Chạy shipyard login để khởi tạo CLI. Thao tác này sẽ nhắc bạn đăng nhập vào Shipyard trong trình duyệt. CLI sau đó sẽ
lưu mã thông báo API của bạn trong cấu hình cục bộ. Bạn đã sẵn sàng để bắt đầu chạy các lệnh.
Hoặc Đặt Mã Thông Báo Của Bạn Theo Cách Thủ Công
Đặt mã thông báo API Shipyard của bạn làm giá trị của biến môi trường SHIPYARD_API_TOKEN.
Bạn có thể lấy mã này bằng cách truy cập trang hồ sơ của bạn.
Bạn có thể liên hệ với chúng tôi tại support@shipyard.build nếu bạn muốn bật quyền truy cập API cho tổ chức của mình. Nếu bạn có bất kỳ câu hỏi nào khác, hãy tham gia cộng đồng Slack của chúng tôi.
shipyard set token
Ngoài ra, bạn có thể sử dụng tệp cấu hình được lưu trữ trong $HOME/.shipyard/config.yaml theo mặc định.
Khi bạn chạy CLI lần đầu tiên, nó sẽ tạo một cấu hình trống mặc định mà bạn có thể chỉnh sửa sau đó.
Bạn cũng có thể chỉ định một đường dẫn cấu hình không mặc định bằng cờ --config {path} được thêm vào bất kỳ lệnh nào.
Thêm bất kỳ giá trị cấu hình nào vào cấu hình của bạn và đảm bảo tệp tuân theo cú pháp YAML. Ví dụ:
api_token: <your-token>
org: <your-non-default-org>
Các giá trị của biến môi trường của bạn ghi đè các giá trị tương ứng của chúng trong cấu hình.
Cách sử dụng cơ bản
Lấy tất cả các tổ chức mà bạn là thành viên
shipyard get orgs
Đặt tổ chức mặc định toàn cầu
shipyard set org {org-name}
Lấy tổ chức đang được cấu hình hiện tại
shipyard get org
Liệt kê tất cả các môi trường
shipyard get environments
Các cờ có sẵn:
| Tên | Mô tả | Loại | Giá trị mặc định |
|---|---|---|---|
| branch | Lọc theo tên nhánh | string | |
| deleted | Trả về các môi trường đã xóa | boolean | false |
| json | In toàn bộ đầu ra JSON | boolean | false |
| name | Lọc theo tên của ứng dụng | string | |
| org-name | Lọc theo tên tổ chức, nếu bạn thuộc nhiều tổ chức | string | tổ chức mặc định của bạn |
| page | Số trang được yêu cầu | int | 1 |
| page-size | Kích thước trang được yêu cầu | int | 20 |
| pull-request-number | Lọc theo số yêu cầu kéo | string | |
| repo-name | Lọc theo tên kho lưu trữ | string |
Ví dụ:
- Liệt kê tất cả các môi trường đang chạy kho lưu trữ
flask-backendtrên nhánhmain:
shipyard get environments --repo-name flask-backend --branch main
- Liệt kê tất cả các môi trường đã xóa:
shipyard get environments --deleted
Lấy chi tiết cho một môi trường cụ thể theo UUID của nó
shipyard get environment {environment_uuid}
Các cờ có sẵn:
| Tên | Mô tả | Loại | Giá trị mặc định |
|---|---|---|---|
| json | In toàn bộ đầu ra JSON | boolean | false |
| org | Tổ chức của môi trường, nếu bạn thuộc nhiều tổ chức | string | tổ chức mặc định của bạn |
| bypass-token | Chỉ in mã thông báo bypass của môi trường, dành cho tập lệnh | boolean | false |
--bypass-token cho phép tập lệnh sử dụng mã thông báo mà không cần ai gõ hoặc in nó:
SHIPYARD_TOKEN=$(shipyard get environment {environment_uuid} --bypass-token) && \
export SHIPYARD_TOKEN && curl -b "shipyard_token=$SHIPYARD_TOKEN" https://your-environment-url/
Dừng một môi trường đang chạy
shipyard stop environment {environment_uuid}
Khởi động lại một môi trường đã dừng
shipyard restart environment {environment_uuid}
Hủy bản dựng đang diễn ra cho một môi trường
shipyard cancel environment {environment_uuid}
Xây dựng lại một môi trường
shipyard rebuild environment {environment_uuid}
Khôi phục một môi trường đã xóa
shipyard revive environment {environment_uuid}
Triển khai một môi trường tách rời
Tạo một môi trường mới, độc lập ("tách rời") bằng cách nhân bản một bản dựng ứng dụng hiện có. Yêu cầu môi trường tách rời phải được bật cho tổ chức của bạn.
shipyard detached deploy {application_build_uuid} --name my-detached-env
Ghi đè các nhánh theo từng kho lưu trữ và kiểm soát xem môi trường tách rời có xây dựng lại trên các cam kết mới hay không:
# Override the branch for a repo, and never rebuild on new commits
shipyard detached deploy {application_build_uuid} --name my-detached-env --branch web=feature-x --build-on-commit never
# Per-repo build-on-commit settings (always | inherit | never)
shipyard detached deploy {application_build_uuid} --build-on-commit-for web=always --build-on-commit-for api=never
Lấy tất cả các dịch vụ và cổng được hiển thị cho một môi trường
shipyard get services --env {environment_uuid}
Thực thi vào dịch vụ của một môi trường đang chạy
Thực thi bất kỳ lệnh nào với bất kỳ đối số và cờ nào trong một dịch vụ nhất định cho một môi trường đang chạy. Truyền bất kỳ đối số lệnh nào sau dấu gạch chéo kép.
shipyard exec --env {environment_uuid} --service {service_name} -- bash
Chuyển tiếp cổng của dịch vụ của một môi trường đang chạy
shipyard port-forward --env {environment_uuid} --service {service_name} --ports {local_port}:{service_container_port}
Lấy nhật ký cho dịch vụ của một môi trường đang chạy
shipyard logs --env {environment_uuid} --service {service_name}
Truy cập một môi trường
shipyard visit {environment_uuid}
Các cờ có sẵn:
| Tên | Mô tả | Loại | Giá trị mặc định |
|---|---|---|---|
| follow | Theo dõi đầu ra nhật ký | boolean | false |
| tail | # dòng nhật ký gần đây để hiển thị | int | 3000 |
Làm việc với các ổ đĩa
Liệt kê tất cả các ổ đĩa trong một môi trường
shipyard get volumes --env {environment_uuid}
Liệt kê tất cả các ảnh chụp nhanh ổ đĩa trong một môi trường
shipyard get snapshots --env {environment_uuid}
Đặt lại một ổ đĩa trong một môi trường
shipyard reset volume --env {environment_uuid}
Tạo một ảnh chụp nhanh trong một môi trường
shipyard create snapshot --env {environment_uuid}
Tải một ảnh chụp nhanh ổ đĩa trong một môi trường
shipyard load snapshot --env {environment_uuid} --sequence-number {n}
Tải lên một tệp vào một ổ đĩa trong một môi trường
shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}
Gọi trực tiếp REST API
shipyard api /api/v1/environment
shipyard api -X PUT /api/v1/environment/{environment_uuid}/env-vars --input body.json
Các đường dẫn phải bắt đầu bằng /api/v1 hoặc /api/v2; mã thông báo và tổ chức của bạn được thêm cho bạn.
bypass_token và thông tin xác thực kubeconfig được biên tập lại trừ khi bạn truyền --include-secrets.
Kết nối với telepresence
shipyard telepresence connect --env {environment_uuid}
Từ đó, bạn sẽ có thể giao tiếp trực tiếp với tất cả các pod trong namespace. Bạn có thể phải sử dụng
tên máy chủ namespace để giao tiếp với các dịch vụ, bạn có thể lấy qua telepresence status trong trường Namespace. Ví dụ: để giao tiếp với redis, bạn sẽ sử dụng redis.shipyard-app-build-{uuid}
Xây dựng tệp thực thi từ mã:
Bạn có thể tạo một tệp thực thi bằng cách chạy lệnh sau:
make
Để chạy tệp thực thi mới này:
./shipyard
Bật Tự động hoàn thành
Bash
Tập lệnh này phụ thuộc vào gói bash-completion. Nếu nó chưa được cài đặt, bạn có thể cài đặt nó qua trình quản lý gói
của hệ điều hành của bạn.
Để tải các phần hoàn thành trong phiên shell hiện tại của bạn:
source <(shipyard completion bash)
Để tải các phần hoàn thành cho mỗi phiên mới, hãy thực thi lệnh sau một lần.
Trên Linux:
shipyard completion bash > /etc/bash_completion.d/shipyard
Trên macOS:
shipyard completion bash > $(brew --prefix)/etc/bash_completion.d/shipyard
Zsh
Nếu tính năng hoàn thành shell chưa được bật trong môi trường của bạn, bạn sẽ cần bật nó. Bạn có thể thực thi lệnh sau một lần:
echo "autoload -U compinit; compinit" >> ~/.zshrc
Để tải các phần hoàn thành trong phiên shell hiện tại của bạn:
source <(shipyard completion zsh); compdef _shipyard shipyard
Để tải các phần hoàn thành cho mỗi phiên mới, hãy thực thi lệnh sau một lần.
Trên Linux:
shipyard completion zsh > "${fpath[1]}/_shipyard"
Trên macOS:
shipyard completion zsh > $(brew --prefix)/share/zsh/site-functions/_shipyard
Bạn sẽ cần khởi động một shell mới để thiết lập này có hiệu lực.
Fish
Để tải các phần hoàn thành trong phiên shell hiện tại của bạn:
$ shipyard completion fish | source
Để tải các phần hoàn thành cho mỗi phiên, hãy thực thi một lần:
shipyard completion fish > ~/.config/fish/completions/shipyard.fish
PowerShell
Để tải các phần hoàn thành trong phiên shell hiện tại của bạn:
shipyard completion powershell | Out-String | Invoke-Expression
Để tải các phần hoàn thành cho mỗi phiên mới, hãy chạy:
shipyard completion powershell > shipyard.ps1
và nguồn tệp này từ hồ sơ PowerShell của bạn.
Sử dụng Shipyard từ trợ lý AI (MCP)
shipyard mcp serve chạy một máy chủ Giao thức Ngữ cảnh Mô hình, vì vậy một
trợ lý như Claude Code, Claude Desktop, Cursor hoặc Codex có thể liệt kê, kiểm tra, xây dựng lại và cấu hình các
môi trường của bạn, đọc nhật ký dịch vụ, quản lý ổ đĩa và xác minh một thay đổi đã đẩy so với môi trường của nó.
Với CLI đã đăng nhập, hãy thêm nó vào Claude Code:
claude mcp add shipyard -- shipyard mcp serve
Sau đó hỏi những điều như:
- "Những môi trường nào đang chạy cho kho lưu trữ
web?" - "Hiển thị nhật ký của dịch vụ
apitrên môi trường của nhánh của tôi." - "Đặt
FEATURE_FLAGS=betatrên môi trường này và khởi động lại dịch vụworker." - "Tôi vừa đẩy. Xác minh thay đổi so với môi trường của nó." (hoặc
/mcp__shipyard__verify)
Xem Hướng dẫn MCP để thiết lập nó trong các máy khách khác, cấu hình, danh sách công cụ đầy đủ,
lời nhắc verify và khắc phục sự cố.