Shipyard
resmiCLI 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:
| Nama | Deskripsi | Tipe | Nilai Default |
|---|---|---|---|
| branch | Filter berdasarkan nama cabang | string | |
| deleted | Kembalikan lingkungan yang dihapus | boolean | false |
| json | Cetak keluaran JSON lengkap | boolean | false |
| name | Filter berdasarkan nama aplikasi | string | |
| org-name | Filter berdasarkan nama organisasi, jika Anda bagian dari beberapa organisasi | string | organisasi default Anda |
| page | Nomor halaman yang diminta | int | 1 |
| page-size | Ukuran halaman yang diminta | int | 20 |
| pull-request-number | Filter berdasarkan nomor permintaan tarik | string | |
| repo-name | Filter berdasarkan nama repositori | string |
Contoh:
- Daftar semua lingkungan yang menjalankan repositori
flask-backendpada cabangmain:
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:
| Nama | Deskripsi | Tipe | Nilai Default |
|---|---|---|---|
| json | Cetak keluaran JSON lengkap | boolean | false |
| org | Organisasi dari lingkungan, jika Anda bagian dari beberapa organisasi | string | organisasi default Anda |
| bypass-token | Cetak hanya token bypass lingkungan, untuk skrip | boolean | false |
--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:
| Nama | Deskripsi | Tipe | Nilai Default |
|---|---|---|---|
| follow | Ikuti keluaran log | boolean | false |
| tail | # baris log terbaru yang ditampilkan | int | 3000 |
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
apidi lingkungan cabang saya." - "Atur
FEATURE_FLAGS=betapada lingkungan ini dan mulai ulang layananworker." - "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.