Shipyard
आधिकारिकशिपयार्ड CLI एक MCP सर्वर प्रदान करता है जो एजेंटों को सीधे शिपयार्ड वातावरण प्रबंधित करने में सक्षम बनाता है: लॉग खींचकर, ब्रांचों की तुलना करके, परीक्षण चलाकर, और वातावरण को रोककर/शुरू करके।
Shipyard MCP के साथ आप क्या कर सकते हैं?
- फ़िल्टर के साथ एनवायरनमेंट सूचीबद्ध करें —
shipyard get environmentsके माध्यम से रेपो, ब्रांच, या पुल रिक्वेस्ट द्वारा फ़िल्टर किए गए एनवायरनमेंट दिखाने के लिए कहें। - एनवायरनमेंट विवरण निरीक्षण करें — किसी विशिष्ट एनवायरनमेंट UUID के लिए पूरी जानकारी प्राप्त करें, जिसमें स्क्रिप्टिंग के लिए उसका बायपास टोकन भी शामिल है।
- एनवायरनमेंट लाइफसाइकिल प्रबंधित करें — UUID द्वारा एनवायरनमेंट रोकें, पुनः आरंभ करें, बिल्ड रद्द करें, पुनर्निर्माण करें, या हटाए गए एनवायरनमेंट को पुनर्जीवित करें।
- सेवाओं और लॉग तक पहुँचें — एक्सपोज़्ड पोर्ट प्राप्त करें, लॉग स्ट्रीम करें, कमांड निष्पादित करें, या चालू एनवायरनमेंट की सेवा में पोर्ट-फ़ॉरवर्ड करें।
- वॉल्यूम और स्नैपशॉट संभालें — एनवायरनमेंट के भीतर वॉल्यूम में फ़ाइलें सूचीबद्ध करें, रीसेट करें, स्नैपशॉट लें, लोड करें, या अपलोड करें।
- डिटैच्ड एनवायरनमेंट तैनात करें — कस्टम ब्रांच ओवरराइड और पुनर्निर्माण नीतियों के साथ एप्लिकेशन बिल्ड क्लोन करें।
दस्तावेज़
Shipyard CLI
Shipyard प्लेटफ़ॉर्म पर Ephemeral Environments प्रबंधित करने के लिए एक टूल।
क्या आप AI सहायक का उपयोग कर रहे हैं? CLI में एक MCP सर्वर शामिल है: AI सहायक से Shipyard का उपयोग करें देखें।
इंस्टॉलेशन
-
Linux और macOS
curl https://www.shipyard.sh/install.sh | bash -
Windows रिलीज़ पेज पर जाएं और Windows के लिए निष्पादन योग्य फ़ाइल डाउनलोड करें।
-
Homebrew
brew tap shipyard/tap brew install shipyard
लॉगिन
CLI को आरंभ करने के लिए shipyard login चलाएं। यह आपको ब्राउज़र में Shipyard में लॉग इन करने के लिए संकेत देगा। फिर CLI आपके API टोकन को एक स्थानीय कॉन्फ़िग में सहेज लेगा। आप कमांड चलाना शुरू करने के लिए तैयार हैं।
या अपना टोकन मैन्युअल रूप से सेट करें
अपना Shipyard API टोकन SHIPYARD_API_TOKEN पर्यावरण चर के मान के रूप में सेट करें।
आप इसे अपने प्रोफ़ाइल पेज पर जाकर प्राप्त कर सकते हैं।
यदि आप अपने संगठन के लिए API एक्सेस सक्षम करना चाहते हैं, तो आप हमसे support@shipyard.build पर संपर्क कर सकते हैं। यदि आपके कोई अन्य प्रश्न हैं, तो बेझिझक हमारे समुदाय Slack से जुड़ें।
shipyard set token
वैकल्पिक रूप से, आप डिफ़ॉल्ट रूप से $HOME/.shipyard/config.yaml में संग्रहीत कॉन्फ़िगरेशन फ़ाइल का उपयोग कर सकते हैं। जब आप पहली बार CLI चलाते हैं, तो यह एक डिफ़ॉल्ट खाली कॉन्फ़िग बनाएगा जिसे आप संपादित कर सकते हैं।
आप किसी भी कमांड में जोड़े गए --config {path} फ़्लैग के साथ एक गैर-डिफ़ॉल्ट कॉन्फ़िग पथ भी निर्दिष्ट कर सकते हैं।
अपने कॉन्फ़िग में कोई भी कॉन्फ़िगरेशन मान जोड़ें और सुनिश्चित करें कि फ़ाइल YAML सिंटैक्स का पालन करती है। उदाहरण के लिए:
api_token: <your-token>
org: <your-non-default-org>
आपके पर्यावरण चर के मान कॉन्फ़िग में उनके संबंधित मानों को ओवरराइड करते हैं।
बुनियादी उपयोग
उन सभी orgs को प्राप्त करें जिनके आप सदस्य हैं
shipyard get orgs
वैश्विक डिफ़ॉल्ट org सेट करें
shipyard set org {org-name}
वर्तमान में कॉन्फ़िगर किया गया org प्राप्त करें
shipyard get org
सभी environments सूचीबद्ध करें
shipyard get environments
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| branch | शाखा नाम से फ़िल्टर करें | string | |
| deleted | हटाए गए environments लौटाएं | boolean | false |
| json | पूर्ण JSON आउटपुट प्रिंट करें | boolean | false |
| name | एप्लिकेशन के नाम से फ़िल्टर करें | string | |
| org-name | org नाम से फ़िल्टर करें, यदि आप कई orgs का हिस्सा हैं | string | आपका डिफ़ॉल्ट org |
| page | अनुरोधित पृष्ठ संख्या | int | 1 |
| page-size | अनुरोधित पृष्ठ आकार | int | 20 |
| pull-request-number | पुल अनुरोध संख्या से फ़िल्टर करें | string | |
| repo-name | रेपो नाम से फ़िल्टर करें | string |
उदाहरण:
flask-backendरेपो कोmainशाखा पर चलाने वाले सभी environments सूचीबद्ध करें:
shipyard get environments --repo-name flask-backend --branch main
- सभी हटाए गए environments सूचीबद्ध करें:
shipyard get environments --deleted
किसी विशिष्ट environment का विवरण उसके UUID द्वारा प्राप्त करें
shipyard get environment {environment_uuid}
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| json | पूर्ण JSON आउटपुट प्रिंट करें | boolean | false |
| org | environment का org, यदि आप कई orgs का हिस्सा हैं | string | आपका डिफ़ॉल्ट org |
| bypass-token | केवल environment का bypass टोकन प्रिंट करें, स्क्रिप्ट के लिए | boolean | false |
--bypass-token एक स्क्रिप्ट को बिना किसी के टाइप या प्रिंट किए टोकन का उपयोग करने देता है:
SHIPYARD_TOKEN=$(shipyard get environment {environment_uuid} --bypass-token) && \
export SHIPYARD_TOKEN && curl -b "shipyard_token=$SHIPYARD_TOKEN" https://your-environment-url/
चल रहे environment को रोकें
shipyard stop environment {environment_uuid}
रुके हुए environment को पुनरारंभ करें
shipyard restart environment {environment_uuid}
environment के लिए चल रहे build को रद्द करें
shipyard cancel environment {environment_uuid}
environment को फिर से build करें
shipyard rebuild environment {environment_uuid}
हटाए गए environment को पुनर्जीवित करें
shipyard revive environment {environment_uuid}
एक detached environment तैनात करें
किसी मौजूदा एप्लिकेशन build को क्लोन करके एक नया, स्वतंत्र ("detached") environment बनाएं। आपके org के लिए detached environments सक्षम होना आवश्यक है।
shipyard detached deploy {application_build_uuid} --name my-detached-env
प्रति-रेपो शाखाओं को ओवरराइड करें और नियंत्रित करें कि क्या detached environment नए commits पर फिर से build होता है:
# 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
environment के लिए सभी सेवाएं और उजागर पोर्ट प्राप्त करें
shipyard get services --env {environment_uuid}
चल रहे environment की सेवा में exec करें
किसी चल रहे environment की दी गई सेवा में किसी भी तर्क और फ़्लैग के साथ कोई भी कमांड निष्पादित करें। डबल स्लैश के बाद कोई भी कमांड तर्क पास करें।
shipyard exec --env {environment_uuid} --service {service_name} -- bash
चल रहे environment की सेवा के पोर्ट को आगे बढ़ाएं
shipyard port-forward --env {environment_uuid} --service {service_name} --ports {local_port}:{service_container_port}
चल रहे environment की सेवा के लिए लॉग प्राप्त करें
shipyard logs --env {environment_uuid} --service {service_name}
environment पर जाएं
shipyard visit {environment_uuid}
उपलब्ध फ़्लैग:
| नाम | विवरण | प्रकार | डिफ़ॉल्ट मान |
|---|---|---|---|
| follow | लॉग आउटपुट का अनुसरण करें | boolean | false |
| tail | दिखाने के लिए हाल की लॉग पंक्तियों की संख्या | int | 3000 |
Volumes के साथ काम करें
environment में सभी volumes सूचीबद्ध करें
shipyard get volumes --env {environment_uuid}
environment में सभी volume स्नैपशॉट सूचीबद्ध करें
shipyard get snapshots --env {environment_uuid}
environment में एक volume रीसेट करें
shipyard reset volume --env {environment_uuid}
environment में एक स्नैपशॉट बनाएं
shipyard create snapshot --env {environment_uuid}
environment में एक volume स्नैपशॉट लोड करें
shipyard load snapshot --env {environment_uuid} --sequence-number {n}
environment में एक volume पर फ़ाइल अपलोड करें
shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}
REST API को सीधे कॉल करें
shipyard api /api/v1/environment
shipyard api -X PUT /api/v1/environment/{environment_uuid}/env-vars --input body.json
पथ /api/v1 या /api/v2 से शुरू होने चाहिए; आपका टोकन और org आपके लिए जोड़े जाते हैं। bypass_token और kubeconfig क्रेडेंशियल संपादित किए जाते हैं जब तक कि आप --include-secrets पास नहीं करते।
telepresence से कनेक्ट करें
shipyard telepresence connect --env {environment_uuid}
वहां से, आप नेमस्पेस में सभी pods के साथ सीधे संवाद करने में सक्षम होंगे। सेवाओं के साथ संवाद करने के लिए आपको नेमस्पेस होस्टनाम का उपयोग करना पड़ सकता है, जिसे आप Namespace फ़ील्ड के अंतर्गत telepresence status के माध्यम से प्राप्त कर सकते हैं। उदाहरण के लिए, redis के साथ संवाद करने के लिए, आप redis.shipyard-app-build-{uuid} का उपयोग करेंगे।
कोड से निष्पादन योग्य build करें:
आप निम्न कमांड चलाकर एक निष्पादन योग्य बना सकते हैं:
make
इस नए निष्पादन योग्य को चलाने के लिए:
./shipyard
ऑटोकम्प्लीशन सक्षम करें
Bash
यह स्क्रिप्ट bash-completion पैकेज पर निर्भर करती है। यदि यह पहले से इंस्टॉल नहीं है, तो आप इसे अपने OS के पैकेज मैनेजर के माध्यम से इंस्टॉल कर सकते हैं।
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
source <(shipyard completion bash)
हर नए सत्र के लिए पूर्णताएं लोड करने के लिए, निम्नलिखित एक बार निष्पादित करें।
Linux पर:
shipyard completion bash > /etc/bash_completion.d/shipyard
macOS पर:
shipyard completion bash > $(brew --prefix)/etc/bash_completion.d/shipyard
Zsh
यदि आपके पर्यावरण में शेल पूर्णता पहले से सक्षम नहीं है, तो आपको इसे सक्षम करने की आवश्यकता होगी। आप निम्नलिखित एक बार निष्पादित कर सकते हैं:
echo "autoload -U compinit; compinit" >> ~/.zshrc
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
source <(shipyard completion zsh); compdef _shipyard shipyard
हर नए सत्र के लिए पूर्णताएं लोड करने के लिए, निम्नलिखित एक बार निष्पादित करें।
Linux पर:
shipyard completion zsh > "${fpath[1]}/_shipyard"
macOS पर:
shipyard completion zsh > $(brew --prefix)/share/zsh/site-functions/_shipyard
इस सेटअप को प्रभावी होने के लिए आपको एक नया शेल शुरू करना होगा।
Fish
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
$ shipyard completion fish | source
प्रत्येक सत्र के लिए पूर्णताएं लोड करने के लिए, एक बार निष्पादित करें:
shipyard completion fish > ~/.config/fish/completions/shipyard.fish
PowerShell
अपने वर्तमान शेल सत्र में पूर्णताएं लोड करने के लिए:
shipyard completion powershell | Out-String | Invoke-Expression
हर नए सत्र के लिए पूर्णताएं लोड करने के लिए, चलाएं:
shipyard completion powershell > shipyard.ps1
और इस फ़ाइल को अपने PowerShell प्रोफ़ाइल से स्रोत करें।
AI सहायक से Shipyard का उपयोग करें (MCP)
shipyard mcp serve एक Model Context Protocol सर्वर चलाता है, ताकि Claude Code, Claude Desktop, Cursor या Codex जैसा सहायक आपके environments को सूचीबद्ध, निरीक्षण, पुनर्निर्माण और कॉन्फ़िगर कर सके, सेवा लॉग पढ़ सके, volumes प्रबंधित कर सके, और एक पुश किए गए परिवर्तन को उसके environment के विरुद्ध सत्यापित कर सके।
CLI में लॉग इन करके, इसे Claude Code में जोड़ें:
claude mcp add shipyard -- shipyard mcp serve
फिर ऐसी चीज़ें पूछें:
- "
webरेपो के लिए कौन से environments चल रहे हैं?" - "मुझे मेरी शाखा के environment पर
apiसेवा के लॉग दिखाएं।" - "इस environment पर
FEATURE_FLAGS=betaसेट करें औरworkerसेवा को पुनरारंभ करें।" - "मैंने अभी पुश किया। परिवर्तन को उसके environment के विरुद्ध सत्यापित करें।" (या
/mcp__shipyard__verify)
अन्य क्लाइंट्स में इसे सेट करने, कॉन्फ़िगरेशन, पूर्ण टूल सूची, verify प्रॉम्प्ट और समस्या निवारण के लिए MCP गाइड देखें।