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 trợ lý của bạn tìm môi trường theo nhánh, kho lưu trữ hoặc PR bằng cách sử dụng
get_environments. - Kiểm tra một môi trường — Truy xuất thông tin chi tiết đầy đủ và thông tin dịch vụ/cổng cho một môi trường cụ thể bằng
get_environmentvàget_services. - Kiểm soát vòng đời môi trường — Dừng, khởi động lại, xây dựng lại, hủy bản dựng hoặc khôi phục môi trường đã xóa thông qua
stop_environment,restart_environment,rebuild_environment,cancel_environmenthoặcrevive_environment. - Quản lý ổ đĩa và ảnh chụp nhanh — Liệt kê, đặt lại, chụp nhanh và tải ảnh chụp nhanh ổ đĩa bằng cách sử dụng
get_volumes,reset_volume,get_snapshots,create_snapshotvàload_snapshot. - Lấy nhật ký dịch vụ — Truy xuất nhật ký từ dịch vụ của môi trường đang chạy bằng
get_logs. - Chuyển đổi tổ chức — Liệt kê các tổ chức có sẵn và đặt tổ chức đang hoạt động thông qua
get_orgsvàset_org.
Tài liệu
Shipyard CLI
Một công cụ để quản lý Môi trường Tạm thời trên nền tảng Shipyard.
Cài đặt
-
Linux và macOS
curl https://www.shipyard.sh/install.sh | bash -
Windows Truy cập 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. Sau đó, CLI sẽ
lưu mã thông báo API của bạn vào 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 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, vui lòng tham gia Slack cộng đồng 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ữ mặc định tại $HOME/.shipyard/config.yaml.
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à sau đó bạn có thể chỉnh sửa.
Bạn cũng có thể chỉ định đườ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 sẽ ghi đè các giá trị tương ứng trong cấu hình.
Cách sử dụng cơ bản
Lấy tất cả các tổ chức bạn là thành viên
shipyard get orgs
Đặt tổ chức mặc định toàn cục
shipyard set org {org-name}
Lấy tổ chức hiện đang được cấu hình
shipyard get org
Liệt kê tất cả môi trường
shipyard get environments
Các cờ khả dụng:
| Tên | Mô tả | Kiểu | 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 đầu ra JSON đầy đủ | boolean | false |
| name | Lọc theo tên ứng dụng | string | |
| org-name | Lọc theo tên tổ chức, nếu bạn là thành viên của 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ố pull request | string | |
| repo-name | Lọc theo tên repo | string |
Ví dụ:
- Liệt kê tất cả môi trường đang chạy repo
flask-backendtrên nhánhmain:
shipyard get environments --repo-name flask-backend --branch main
- Liệt kê tất 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ể bằng UUID của nó
shipyard get environment {environment_uuid}
Các cờ khả dụng:
| Tên | Mô tả | Kiểu | Giá trị Mặc định |
|---|---|---|---|
| json | In đầu ra JSON đầy đủ | boolean | false |
| org-name | Lọc theo tên tổ chức, nếu bạn là thành viên của nhiều tổ chức | string | tổ chức mặc định của bạn |
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}
Lấy tất 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ô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ô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ụ 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ô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ờ khả dụng:
| Tên | Mô tả | Kiểu | Giá trị Mặc định |
|---|---|---|---|
| follow | Theo dõi đầu ra nhật ký | boolean | false |
| tail | Số dòng nhật ký gần đây để hiển thị | int | 3000 |
Làm việc với volumes
Liệt kê tất cả volumes trong một môi trường
shipyard get volumes --env {environment_uuid}
Liệt kê tất cả ảnh chụp nhanh volume trong một môi trường
shipyard get snapshots --env {environment_uuid}
Đặt lại một volume 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 volume 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 volume trong một môi trường
shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}
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 không gian tên. Bạn có thể phải sử dụng
tên máy chủ không gian tên để giao tiếp với các dịch vụ, bạn có thể lấy thông 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 chưa được cài đặt, bạn có thể cài đặt nó thông qua trình quản lý
gói của hệ điều hành.
Để 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 hiện 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 hiện 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 hiện 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 hiện 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.
Tích hợp Model Context Protocol (MCP)
Shipyard CLI cung cấp một máy chủ MCP để tích hợp trợ lý AI. Điều này cho phép các trợ lý AI như Claude quản lý môi trường Shipyard trực tiếp.
Các Công cụ MCP được Hỗ trợ
Quản lý Môi trường (7 công cụ)
get_environments- Liệt kê môi trường với bộ lọcget_environment- Lấy chi tiết môi trường cụ thểstop_environment- Dừng một môi trường đang chạyrestart_environment- Khởi động lại một môi trường đã dừngrebuild_environment- Xây dựng lại với commit mới nhấtcancel_environment- Hủy bản dựng mới nhất của môi trườngrevive_environment- Khôi phục một môi trường đã xóa
Quản lý Dịch vụ (2 công cụ)
get_services- Liệt kê dịch vụ trong một môi trườngget_logs- Lấy nhật ký từ một dịch vụ
Quản lý Volume (5 công cụ)
get_volumes- Liệt kê volumes trong một môi trườngreset_volume- Đặt lại volume về trạng thái ban đầuget_snapshots- Liệt kê ảnh chụp nhanh volumecreate_snapshot- Tạo ảnh chụp nhanh volumeload_snapshot- Tải ảnh chụp nhanh volume
Quản lý Tổ chức (3 công cụ)
get_orgs- Liệt kê tất cả tổ chứcget_org- Lấy tổ chức mặc định hiện tạiset_org- Đặt tổ chức mặc định
Công cụ Hạn chế
Các công cụ này trả về văn bản trợ giúp hướng dẫn người dùng sử dụng lệnh CLI thay thế:
exec_service- Thực thi lệnh trong container dịch vụport_forward- Chuyển tiếp cổng dịch vụ đến máy cục bộtelepresence_connect- Kết nối với telepresence
Thêm vào Claude
Với mã thông báo API và tên tổ chức:
claude mcp add shipyard --env SHIPYARD_API_TOKEN=your-token-here --env SHIPYARD_ORG=your-org-name -- shipyard mcp serve
Nếu đã được cấu hình với CLI:
claude mcp add shipyard -- shipyard mcp serve
Thêm vào Codex CLI
Chỉnh sửa ~/.codex/config.toml và thêm:
[mcp_servers.shipyard]
command = "shipyard"
args = ["mcp", "serve"]
env = { "SHIPYARD_API_TOKEN" = "your-token-here", "SHIPYARD_ORG" = "your-org-name" }