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 लौटाएंbooleanfalse
jsonपूर्ण JSON आउटपुट प्रिंट करेंbooleanfalse
nameएप्लिकेशन के नाम से फ़िल्टर करेंstring
org-nameorg नाम से फ़िल्टर करें, यदि आप कई orgs का हिस्सा हैंstringआपका डिफ़ॉल्ट org
pageअनुरोधित पृष्ठ संख्याint1
page-sizeअनुरोधित पृष्ठ आकारint20
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 आउटपुट प्रिंट करेंbooleanfalse
orgenvironment का org, यदि आप कई orgs का हिस्सा हैंstringआपका डिफ़ॉल्ट org
bypass-tokenकेवल environment का bypass टोकन प्रिंट करें, स्क्रिप्ट के लिएbooleanfalse

--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लॉग आउटपुट का अनुसरण करेंbooleanfalse
tailदिखाने के लिए हाल की लॉग पंक्तियों की संख्याint3000

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 गाइड देखें।