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.

GitHub
13
Dùng thử MCP nàyĐược tài trợ

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ênMô tảLoạiGiá trị mặc định
branchLọc theo tên nhánhstring
deletedTrả về các môi trường đã xóabooleanfalse
jsonIn toàn bộ đầu ra JSONbooleanfalse
nameLọc theo tên của ứng dụngstring
org-nameLọc theo tên tổ chức, nếu bạn thuộc 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ố yêu cầu kéostring
repo-nameLọ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-backend trên nhánh main:
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ênMô tảLoạiGiá trị mặc định
jsonIn toàn bộ đầu ra JSONbooleanfalse
orgTổ chức của môi trường, nếu bạn thuộc nhiều tổ chứcstringtổ chức mặc định của bạn
bypass-tokenChỉ in mã thông báo bypass của môi trường, dành cho tập lệnhbooleanfalse

--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ênMô tảLoạiGiá trị mặc định
followTheo dõi đầu ra nhật kýbooleanfalse
tail# dòng nhật ký gần đây để hiển thịint3000

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ụ api trên môi trường của nhánh của tôi."
  • "Đặt FEATURE_FLAGS=beta trê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ố.