Shipyard

chính thức

CLI 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_environmentget_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_environment hoặc revive_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_snapshotload_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_orgsset_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ênMô tảKiểuGiá trị Mặc định
branchLọc theo tên nhánhstring
deletedTrả về các môi trường đã xóabooleanfalse
jsonIn đầu ra JSON đầy đủbooleanfalse
nameLọc theo tên ứng dụngstring
org-nameLọc theo tên tổ chức, nếu bạn là thành viên của nhiều tổ chứcstringtổ chức mặc định của bạn
pageSố trang được yêu cầuint1
page-sizeKích thước trang được yêu cầuint20
pull-request-numberLọc theo số pull requeststring
repo-nameLọc theo tên repostring

Ví dụ:

  • Liệt kê tất cả môi trường đang chạy repo flask-backend trên nhánh main:
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ênMô tảKiểuGiá trị Mặc định
jsonIn đầu ra JSON đầy đủbooleanfalse
org-nameLọc theo tên tổ chức, nếu bạn là thành viên của nhiều tổ chứcstringtổ 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ênMô tảKiểuGiá trị Mặc định
followTheo dõi đầu ra nhật kýbooleanfalse
tailSố dòng nhật ký gần đây để hiển thịint3000

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ọc
  • get_environment - Lấy chi tiết môi trường cụ thể
  • stop_environment - Dừng một môi trường đang chạy
  • restart_environment - Khởi động lại một môi trường đã dừng
  • rebuild_environment - Xây dựng lại với commit mới nhất
  • cancel_environment - Hủy bản dựng mới nhất của môi trường
  • revive_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ường
  • get_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ường
  • reset_volume - Đặt lại volume về trạng thái ban đầu
  • get_snapshots - Liệt kê ảnh chụp nhanh volume
  • create_snapshot - Tạo ảnh chụp nhanh volume
  • load_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ức
  • get_org - Lấy tổ chức mặc định hiện tại
  • set_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" }