# Qwencloud Deploy

> One-click deploy, publish, and update a local project or Git repository to Alibaba Cloud Internat…

One-click deploy, publish, and update a local project or Git repository to Alibaba Cloud International (alibabacloud.com), producing an accessible online service with a public IP. Supports full-stack ROS orchestration, automatic cloud-resource provisioning, pre-deployment price confirmation, service health checks, deployment-state recording, hot updates, and optional domain + HTTPS setup. Use when: the user asks to deploy a project to the cloud, put an app online, publish a website, generate an access URL, deploy a Git repo, or update an online version and has NOT named a specific cloud platform; or the user mentions "Alibaba Cloud", "alibabacloud.com", or the international site. Do not use when: the user explicitly targets Aliyun China (aliyun.com), AWS, GCP, Azure, or another specific cloud platform.

- Page: https://ss33.ai/skills/qwencloud/qwencloud-deploy-11191443609
- Publisher: qwencloud
- Category: [Software Development](https://ss33.ai/skills/category/software-development-t44z8z) › [DevOps & cloud](https://ss33.ai/skills/category/software-development-t44z8z/devops-and-cloud-unkt50)
- License: Apache-2.0
- Source: https://github.com/qwencloud/qwencloud-deploy/blob/6bc009a412a72e6b748b9b91d941d57420cb3813/skills/deploy/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/qwencloud/qwencloud-deploy-11191443609

# Qwen Cloud Deploy

## Quick Path

1. **Route the task** — Match to one of 4 modes: Full-Stack Deploy · Hot Update · Delete · HTTPS Setup.
2. **Deploy (default)** — Execute steps 1→14 strictly in order, no skipping/reordering; gates and
   skippable steps are in `reference/rules/rule_interaction.md` "Execution order".
3. **Confirm cost before creating anything** — Show hourly price in USD, get user confirmation.
4. **Record state** — On success write `.qwencloud-deploy`.

## Scope

| In Scope | Out of Scope |
|----------|--------------|
| Local project / Git → Alibaba Cloud International | China site → use `qianwenai-deploy` |
| Full-stack ROS, hot update, cleanup | AWS/GCP/Azure/other clouds |
| ECS + optional RDS + OSS + public IP | K8s/Serverless/container orchestration |
| OAuth/AK auth (no credential collection) | — |
| Deploy the user's provided code/project | Reviewing or editing the user's code logic, vouching for code correctness |

## About the user's code

This skill builds and deploys the user's provided code/project. It does not review or modify the
business logic and does not guarantee the code itself is correct.

Bugs, security issues, and any consequences caused by the code once deployed are the user's own; if
the code needs changing, the user decides and makes the change themselves.

## Assumptions

- `aliyun` CLI 3.x installed; when no valid credential, follow `reference/deploy/01_env_check.md`.
- Default region `ap-southeast-1` (Singapore).

---

## Task Routing

| Signal | Mode |
|--------|------|
| `.qwencloud-deploy` exists + user says "update" | **Hot Update** |
| `.qwencloud-deploy` exists + "delete"/"cleanup" | **Delete** |
| "bind domain"/"HTTPS"/"SSL" (deployment exists) | **HTTPS Setup** |
| Git URL or local project (no existing deployment) | **Full-Stack Deploy** |

On trigger, display welcome message first (see `reference/rules/rule_interaction.md`).

---

## Full-Stack Deploy (Steps 1–14)

### Phase 1 · Preparation

| Step | Action | Reference |
|------|--------|-----------|
| 1 | Environment check | `reference/deploy/01_env_check.md` |
| 2 | Git clone (if Git URL) | `reference/deploy/02_git_clone.md` |
| 3 | Project analysis | `reference/deploy/03_analyze_project.md` |

### Phase 2 · Resource Planning

| Step | Action | Reference |
|------|--------|-----------|
| 4 | Existing deployment scan | `reference/deploy/04_check_existing.md` |
| 5 | Database identification | `reference/deploy/05_database.md` |
| 6 | ECS instance type selection | `reference/deploy/06_instance_type.md` |
| 7 | Generate ROS template | `reference/deploy/07_generate_template.md` |
| 8 | Stock check | `reference/deploy/08_check_stock.md` |
| 9 | Template validation + cost estimate | `reference/deploy/09_estimate_cost.md` |

### Phase 3 · Execution

| Step | Action | Reference |
|------|--------|-----------|
| 10 | Upload artifacts + regenerate template | `reference/deploy/10_upload_artifacts.md` |
| 11 | Create stack | `reference/deploy/11_create_stack.md` |
| 12 | Wait for terminal state + health check | `reference/deploy/12_wait_stack.md` |
| 13 | Record state | `reference/deploy/13_record_state.md` |
| 14 | Append application dossier | `reference/deploy/14_app_timeline.md` |

---

## Hot Update

**Trigger**: `.qwencloud-deploy` exists + user wants to update code. IP unchanged.

| Step | Action | Reference |
|------|--------|-----------|
| U1 | Build + upload new artifacts | `reference/deploy/10_upload_artifacts.md` |
| U2 | Deliver update (Cloud Assistant) | `reference/hotfix/update_app.md` |
| U3 | Health check + update state | `reference/hotfix/update_app.md` |
| U4 | Append application dossier (`event=hotfix`) | `reference/deploy/14_app_timeline.md` |

Update script template: `reference/hotfix/update_recipe.md`.

---

## Delete / Cleanup

**Trigger**: User says "delete", "cleanup", "release resources".

> ⚠️ Irreversible — confirm twice. With RDS: warn about data loss.

> 🚫 Never manually delete individual resources — only use `delete_stack.sh`.

See `reference/cleanup/delete_stack.md`.

---

## HTTPS Setup (Optional)

**Trigger**: User says "bind domain" / "HTTPS" / "SSL" after deployment exists.

See `reference/https/https_setup.md`.

---

## Key Constraints

| Constraint | Rule |
|------------|------|
| Currency | Always USD |
| Auth | OAuth (recommended) or AK/SK; never collect credentials via chat |
| Template upload | Must use `--TemplateURL` (WAF blocks TemplateBody) |
| Stack name retry | Reuse — never regenerate |
| Resource deletion | Always via `delete_stack.sh` |
| Region default | `ap-southeast-1` |
| Commands to user | Never show underlying commands |

---

## File Layout

```
scripts/
  generate_template.py  upload_artifacts.py
  create_stack.sh       record_state.py
  delete_stack.sh       update_app.sh
  wait_and_probe.py     setup_domain.sh
  append_timeline.py
reference/
  deploy/
    01_env_check.md ~ 14_app_timeline.md
  hotfix/
    update_app.md       update_recipe.md
  cleanup/
    delete_stack.md
  https/
    https_setup.md
  rules/
    rule_interaction.md  rule_error_handling.md  ram_policies.md
templates/
  ros_single[_rds].yaml
  userdata/{systemd,docker,nginx_proxy,nginx_static,nginx_static_proxy}.sh
```
