Code-Hero: Automate Code-Hero with the CLI
Start Code-Hero, retrieve its credentials, and change its configuration programmatically with the Stackhero CLI
👋 欢迎来到 Stackhero 文档!
Stackhero 提供 Code-Hero,一个完整的开发平台,让您在几秒钟内开始编码:
- 随时随地编码:使用任何设备,无论是台式机、手机还是平板电脑,无需安装任何软件。
- 集成的 VSCode 体验:通过浏览器直接使用定制版 VSCode,配备全功能终端。
- 全面的工具集:享受预配置环境,包含
Docker、Git、Zsh、Node.js、Go、Python、Ruby等工具和语言。- 无缝连接:通过 HTTPS 在公共域访问您的开发应用程序,模拟生产环境。此设置轻松支持 webhooks 和外部集成。
体验 Stackhero 的 Code-Hero 开发云解决方案 的高效与便捷。只需 5 分钟即可开始!简化您的开发流程,节省宝贵时间。
This guide shows how to create a Code-Hero service, read its credentials, and update its configuration entirely from the command line, with no clicks in the dashboard. It is ideal for scripts, CI pipelines, and AI agents.
It uses the Stackhero CLI. Install it first:
curl -fsSL https://www.stackhero.io/install.sh | sh
1. Authenticate
The simplest way is to log in from your browser. The CLI opens a page where you approve the access (no password or 2FA code is ever handled by the CLI):
stackhero login
Your credentials are then saved locally and reused by every following command.
For scripts, CI pipelines, and AI agents, use a non-interactive access token instead. Create one from your dashboard (Account > Access tokens) and export it. The CLI (and any script) picks it up automatically:
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
2. Find the Code-Hero service store
List your organizations to get your organization id, then find the Code-Hero store:
# Your organization id (org-xxxxxx)
stackhero organizations-list
# The Code-Hero service stores available to that organization
stackhero services-store-list --organization-id=org-xxxxxx --name="code-hero"
Pick the svs-xxxxxx id of the version you want.
3. Pick an instance size and a region
# Instance sizes (ist-xxxxxx) available for that service store
stackhero instances-store-list --organization-id=org-xxxxxx --service-store-id=svs-xxxxxx
# Available regions
stackhero regions-list
4. Create the service
The script below creates a stack, adds Code-Hero to it, waits until it is running, reads its configuration (which contains the generated credentials), and applies a new configuration.
#!/bin/bash
set -e
export STACKHERO_TOKEN="usr-xxxxxx:your-token"
organizationId="org-xxxxxx"
serviceStoreId="svs-xxxxxx" # a Code-Hero service store (step 2)
instanceStoreId="ist-xxxxxx" # an instance size (step 3)
regionId="europe" # a region id (step 3)
# Create a stack to host the service
stackId=$(stackhero --format=script stack-create \
--organization-id="${organizationId}" \
--name="My Code-Hero stack")
echo "Stack created: ${stackId}"
# Add Code-Hero to the stack
serviceId=$(stackhero --format=script service-add \
--stack-id="${stackId}" \
--service-store-id="${serviceStoreId}" \
--instance-store-id="${instanceStoreId}" \
--region-id="${regionId}")
echo "Service added: code-hero"
# Wait until the service is running (a couple of minutes)
stackhero service-wait-for --service-id="code-hero"
# Retrieve the service configuration, including its generated credentials
stackhero service-configuration-get --service-id="code-hero" --format=json
5. Retrieve credentials
service-configuration-get returns the full configuration of the service, including the generated passwords and connection details. As JSON (handy for scripts and agents):
stackhero service-configuration-get --service-id=svc-xxxxxx --format=json
6. Change the configuration
Get an example of the expected configuration, then apply your own:
# See the configuration schema and an example for this service
stackhero service-configuration-example --service-id=svc-xxxxxx
# Apply a new configuration (the service restarts to apply it)
stackhero service-configuration-set \
--service-id=svc-xxxxxx \
--configuration='{ "...": "..." }'
# Wait until the new configuration is applied
stackhero service-wait-for --service-id=svc-xxxxxx
That is the full lifecycle: start, read credentials, reconfigure, all scriptable. See the full CLI documentation for every command and the non-interactive STACKHERO_TOKEN authentication used here.