Shipyard

resmi

CLI Shipyard menyediakan server MCP bagi agen untuk mengelola lingkungan Shipyard secara langsung: dengan menarik log, membandingkan cabang, menjalankan pengujian, serta menghentikan/memulai lingkungan.

Apa yang bisa Anda lakukan dengan Shipyard MCP?

  • Daftar lingkungan dengan filter — Minta untuk menampilkan lingkungan yang difilter berdasarkan repo, cabang, atau pull request melalui shipyard get environments.
  • Periksa detail lingkungan — Ambil informasi lengkap untuk UUID lingkungan tertentu, termasuk token bypass-nya untuk skrip.
  • Kelola siklus hidup lingkungan — Hentikan, mulai ulang, batalkan build, bangun ulang, atau pulihkan lingkungan yang dihapus berdasarkan UUID.
  • Akses layanan dan log — Dapatkan port yang diekspos, streaming log, jalankan perintah, atau terusan port ke layanan lingkungan yang berjalan.
  • Tangani volume dan snapshot — Daftar, atur ulang, buat snapshot, muat, atau unggah file ke volume dalam lingkungan.
  • Terapkan lingkungan terpisah — Klon build aplikasi dengan override cabang kustom dan kebijakan build ulang.

Dokumentasi

CLI Shipyard

Alat untuk mengelola Lingkungan Ephemeral di platform Shipyard.

Menggunakan asisten AI? CLI ini menyertakan server MCP: lihat Gunakan Shipyard dari asisten AI.

Instalasi

  • Linux dan macOS

    curl https://www.shipyard.sh/install.sh | bash
    
  • Windows Buka halaman rilis dan unduh berkas yang dapat dieksekusi untuk Windows.

  • Homebrew

    brew tap shipyard/tap
    brew install shipyard
    

Masuk

Jalankan shipyard login untuk menginisialisasi CLI. Ini akan meminta Anda untuk masuk ke Shipyard di peramban. CLI kemudian akan menyimpan token API Anda dalam konfigurasi lokal. Anda siap untuk mulai menjalankan perintah.

Atau Atur Token Anda Secara Manual

Atur token API Shipyard Anda sebagai nilai dari variabel lingkungan SHIPYARD_API_TOKEN.

Anda bisa mendapatkannya dengan membuka halaman profil Anda.

Anda dapat menghubungi kami di support@shipyard.build jika Anda ingin mengaktifkan akses API untuk organisasi Anda. Jika Anda memiliki pertanyaan lain, silakan bergabung dengan komunitas Slack kami.

shipyard set token

Alternatifnya, Anda dapat menggunakan berkas konfigurasi yang disimpan di $HOME/.shipyard/config.yaml secara default. Saat Anda menjalankan CLI untuk pertama kalinya, CLI akan membuat konfigurasi kosong default yang dapat Anda edit.

Anda juga dapat menentukan jalur konfigurasi non-default dengan flag --config {path} yang ditambahkan ke perintah apa pun.

Tambahkan nilai konfigurasi apa pun dalam konfigurasi Anda dan pastikan berkas mengikuti sintaks YAML. Contohnya:

api_token: <your-token>
org: <your-non-default-org>

Nilai variabel lingkungan Anda menimpa nilai terkaitnya dalam konfigurasi.

Penggunaan dasar

Dapatkan semua organisasi yang Anda ikuti

shipyard get orgs

Atur organisasi default global

shipyard set org {org-name}

Dapatkan organisasi yang sedang dikonfigurasi

shipyard get org

Daftar semua lingkungan

shipyard get environments

Flag yang tersedia:

NamaDeskripsiTipeNilai Default
branchFilter berdasarkan nama cabangstring
deletedKembalikan lingkungan yang dihapusbooleanfalse
jsonCetak keluaran JSON lengkapbooleanfalse
nameFilter berdasarkan nama aplikasistring
org-nameFilter berdasarkan nama organisasi, jika Anda bagian dari beberapa organisasistringorganisasi default Anda
pageNomor halaman yang dimintaint1
page-sizeUkuran halaman yang dimintaint20
pull-request-numberFilter berdasarkan nomor permintaan tarikstring
repo-nameFilter berdasarkan nama repositoristring

Contoh:

  • Daftar semua lingkungan yang menjalankan repositori flask-backend pada cabang main:
shipyard get environments --repo-name flask-backend --branch main
  • Daftar semua lingkungan yang dihapus:
shipyard get environments --deleted

Dapatkan detail untuk lingkungan tertentu berdasarkan UUID-nya

shipyard get environment {environment_uuid}

Flag yang tersedia:

NamaDeskripsiTipeNilai Default
jsonCetak keluaran JSON lengkapbooleanfalse
orgOrganisasi dari lingkungan, jika Anda bagian dari beberapa organisasistringorganisasi default Anda
bypass-tokenCetak hanya token bypass lingkungan, untuk skripbooleanfalse

--bypass-token memungkinkan skrip menggunakan token tanpa ada yang mengetik atau mencetaknya:

SHIPYARD_TOKEN=$(shipyard get environment {environment_uuid} --bypass-token) && \
  export SHIPYARD_TOKEN && curl -b "shipyard_token=$SHIPYARD_TOKEN" https://your-environment-url/

Hentikan lingkungan yang berjalan

shipyard stop environment {environment_uuid}

Mulai ulang lingkungan yang dihentikan

shipyard restart environment {environment_uuid}

Batalkan build yang sedang berlangsung untuk lingkungan

shipyard cancel environment {environment_uuid}

Bangun ulang lingkungan

shipyard rebuild environment {environment_uuid}

Hidupkan kembali lingkungan yang dihapus

shipyard revive environment {environment_uuid}

Terapkan lingkungan terpisah

Buat lingkungan baru yang independen ("terpisah") dengan mengkloning build aplikasi yang ada. Memerlukan lingkungan terpisah diaktifkan untuk organisasi Anda.

shipyard detached deploy {application_build_uuid} --name my-detached-env

Timpa cabang per-repositori dan kontrol apakah lingkungan terpisah dibangun ulang pada commit baru:

# 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

Dapatkan semua layanan dan port yang diekspos untuk lingkungan

shipyard get services --env {environment_uuid}

Exec ke dalam layanan lingkungan yang berjalan

Jalankan perintah apa pun dengan argumen dan flag apa pun dalam layanan tertentu untuk lingkungan yang berjalan. Teruskan argumen perintah apa pun setelah garis miring ganda.

shipyard exec --env {environment_uuid} --service {service_name} -- bash

Teruskan port layanan lingkungan yang berjalan

shipyard port-forward --env {environment_uuid} --service {service_name} --ports {local_port}:{service_container_port}

Dapatkan log untuk layanan lingkungan yang berjalan

shipyard logs --env {environment_uuid} --service {service_name}

Kunjungi lingkungan

shipyard visit {environment_uuid}

Flag yang tersedia:

NamaDeskripsiTipeNilai Default
followIkuti keluaran logbooleanfalse
tail# baris log terbaru yang ditampilkanint3000

Bekerja dengan volume

Daftar semua volume dalam lingkungan

shipyard get volumes --env {environment_uuid}

Daftar semua snapshot volume dalam lingkungan

shipyard get snapshots --env {environment_uuid}

Atur ulang volume dalam lingkungan

shipyard reset volume --env {environment_uuid}

Buat snapshot dalam lingkungan

shipyard create snapshot --env {environment_uuid}

Muat snapshot volume dalam lingkungan

shipyard load snapshot --env {environment_uuid} --sequence-number {n}

Unggah berkas ke volume dalam lingkungan

shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}

Panggil REST API secara langsung

shipyard api /api/v1/environment
shipyard api -X PUT /api/v1/environment/{environment_uuid}/env-vars --input body.json

Jalur harus dimulai dengan /api/v1 atau /api/v2; token dan organisasi Anda ditambahkan untuk Anda. bypass_token dan kredensial kubeconfig disunting kecuali Anda meneruskan --include-secrets.

Hubungkan ke telepresence

shipyard telepresence connect --env {environment_uuid}

Dari sana, Anda akan dapat berkomunikasi langsung dengan semua pod di namespace. Anda mungkin harus menggunakan hostname namespace untuk berkomunikasi dengan layanan, yang bisa Anda dapatkan melalui telepresence status di bawah bidang Namespace. Misalnya, untuk berkomunikasi dengan redis, Anda akan menggunakan redis.shipyard-app-build-{uuid}

Buat executable dari kode:

Anda dapat membuat executable dengan menjalankan perintah berikut:

make

Untuk menjalankan executable baru ini:

./shipyard

Aktifkan Autocompletion

Bash

Skrip ini bergantung pada paket bash-completion. Jika belum diinstal, Anda dapat menginstalnya melalui pengelola paket OS Anda. Untuk memuat penyelesaian di sesi shell Anda saat ini:

source <(shipyard completion bash)

Untuk memuat penyelesaian untuk setiap sesi baru, jalankan yang berikut sekali.

Di Linux:

shipyard completion bash > /etc/bash_completion.d/shipyard

Di macOS:

shipyard completion bash > $(brew --prefix)/etc/bash_completion.d/shipyard

Zsh

Jika penyelesaian shell belum diaktifkan di lingkungan Anda, Anda harus mengaktifkannya. Anda dapat menjalankan yang berikut sekali:

echo "autoload -U compinit; compinit" >> ~/.zshrc

Untuk memuat penyelesaian di sesi shell Anda saat ini:

source <(shipyard completion zsh); compdef _shipyard shipyard

Untuk memuat penyelesaian untuk setiap sesi baru, jalankan yang berikut sekali.

Di Linux:

shipyard completion zsh > "${fpath[1]}/_shipyard"

Di macOS:

shipyard completion zsh > $(brew --prefix)/share/zsh/site-functions/_shipyard

Anda harus memulai shell baru agar pengaturan ini berlaku.

Fish

Untuk memuat penyelesaian di sesi shell Anda saat ini:

$ shipyard completion fish | source

Untuk memuat penyelesaian untuk setiap sesi, jalankan sekali:

shipyard completion fish > ~/.config/fish/completions/shipyard.fish

PowerShell

Untuk memuat penyelesaian di sesi shell Anda saat ini:

shipyard completion powershell | Out-String | Invoke-Expression

Untuk memuat penyelesaian untuk setiap sesi baru, jalankan:

shipyard completion powershell > shipyard.ps1

dan sumber berkas ini dari profil PowerShell Anda.

Gunakan Shipyard dari asisten AI (MCP)

shipyard mcp serve menjalankan server Model Context Protocol, sehingga asisten seperti Claude Code, Claude Desktop, Cursor atau Codex dapat mendaftar, memeriksa, membangun ulang, dan mengonfigurasi lingkungan Anda, membaca log layanan, mengelola volume, dan memverifikasi perubahan yang didorong terhadap lingkungannya.

Dengan CLI yang masuk, tambahkan ke Claude Code:

claude mcp add shipyard -- shipyard mcp serve

Kemudian tanyakan hal-hal seperti:

  • "Lingkungan mana yang berjalan untuk repositori web?"
  • "Tunjukkan log layanan api di lingkungan cabang saya."
  • "Atur FEATURE_FLAGS=beta pada lingkungan ini dan mulai ulang layanan worker."
  • "Saya baru saja mendorong. Verifikasi perubahan terhadap lingkungannya." (atau /mcp__shipyard__verify)

Lihat Panduan MCP untuk menyiapkannya di klien lain, konfigurasi, daftar alat lengkap, prompt verify, dan pemecahan masalah.