O que Implantação de Site Estático no Aliyun faz?
Regras Essenciais
- Trate o EMAS Serverless static hosting como a rota padrão para pré-visualização sem domínio para novatos. Ele fornece ao usuário uma URL padrão do Aliyun e evita o problema comum de download do domínio padrão do OSS.
- Trate o OSS + GitHub Actions como a rota de automação repetível somente quando o usuário explicitamente quiser automação do GitHub para o Aliyun, já tiver ou puder criar um bucket OSS, e entender que a URL final deve ser verificada para abrir inline como HTML.
- Não finja que o login no Aliyun, a verificação de identidade real, a ativação de serviços pagos, a criação de AccessKey, o 2FA do GitHub ou a confirmação de cobrança podem ser automatizados. Pause e peça ao usuário para concluir essas etapas.
- Nunca peça ao usuário para colar
ALIYUN_ACCESS_KEY_SECRET, tokens do GitHub, senhas ou capturas de tela de pagamento no chat. Peça que digitem os segredos diretamente nos GitHub Secrets ou na interface do Aliyun/GitHub.
Primeira Decisão
Antes de escrever código de implantação, decida a rota e diga-a explicitamente:
| Rota | Quando Usar | Nível de Automação | Risco |
|---|---|---|---|
| EMAS static hosting | Sem domínio personalizado, pré-visualização para novatos, o usuário pode operar o console do Aliyun | O agente prepara os arquivos e orienta os passos no console; o usuário lida com login/pagamento/upload se necessário | A interface do console pode mudar e pode exigir upload manual |
| Workflow OSS | O usuário quer automação Codex X GitHub X Aliyun; bucket OSS e AccessKey podem ser preparados | O agente pode gerar o workflow, fazer push do código, acionar CI e verificar a URL | Os domínios padrão do OSS podem baixar HTML a menos que os metadados/hosting estático estejam corretos |
Se o usuário disser apenas "没有域名先给客户看", use a orientação do EMAS primeiro. Se o usuário disser "自动上线", "XgitX阿里云", "GitHub 自动部署" ou "以后反复更新", use os scripts do workflow OSS, mas explique o risco de verificação de download no navegador antes de prosseguir.
Fluxo de Trabalho
- Inspecione o projeto:
python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . - Explique a rota de implantação em uma frase:
- OSS: "Usar GitHub Actions para enviar para o OSS do Aliyun e verificar se o navegador não baixa o arquivo."
- EMAS: "Primeiro usar o EMAS static hosting do Aliyun para obter uma URL de pré-visualização sem domínio."
- Se o usuário não preparou o acesso ao Aliyun, leia
references/secrets-hand-off.mde peça para concluir login/pagamento/AccessKey/GitHub Secrets no Aliyun. Use capturas de tela incluídas ao explicar onde clicar. - Apenas para automação OSS, gere o workflow do GitHub Actions:
python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/prepare_oss_workflow.py --project . --force - Verifique novamente o workflow gerado e o projeto local:
python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/check_readiness.py --project . --strict - Faça commit/push do projeto para o GitHub se o usuário solicitou e as credenciais estiverem disponíveis. Se o Git LSF estiver instalado incorretamente, use a saída do script para explicar a correção em vez de tentar cegamente novamente.
- Após a implantação terminar, verifique a URL pública:
python3 /Users/likai/.codex/skills/aliyun-static-site-deploy/scripts/verify_deployed_url.py "$ALIYUN_SITE_URL"
Segredos Obrigatórios do GitHub
Para o workflow OSS incluído, peça ao usuário para criar estes segredos do repositório no GitHub:
ALIYUN_ACCESS_KEY_IDALIYUN_ACCESS_KEY_SECRETALIYUN_OSS_BUCKETALIYUN_OSS_ENDPOINT
Opcionais:
ALIYUN_SITE_URLpara verificação no momento da implantação. Exemplo:https://seu-bucket.oss-cn-hangzhou.aliyuncs.com/index.html
Para EMAS, use os nomes exatos dos segredos exigidos pelo script de implantação EMAS naquele projeto. Se não houver script EMAS, não invente nomes de segredos falsos; oriente o usuário pelo upload manual do EMAS static hosting ou crie um script específico do projeto após confirmar o caminho oficial da API/SDK.
Limite Humano
Pare e chame o usuário quando algum destes itens estiver faltando:
- A conta Aliyun não está logada, não foi verificada com nome real ou pede pagamento.
- O espaço de serviço EMAS, o bucket OSS ou o static hosting não foram criados.
- AccessKey não foi criado.
- GitHub Secrets não foram preenchidos.
- O GitHub pede nome de usuário/token ou confirmação de dois fatores.
Mostre ao usuário os campos exatos a preencher, mas não receba segredos no chat.
Critérios de Sucesso da Implantação
Considere a implantação incompleta até que todas as verificações passem:
- O repositório GitHub tem o código-fonte do site commitado e instruções de implantação.
- Para automação OSS, o repositório GitHub tem o workflow gerado em
.github/workflows/deploy-aliyun-static-site.ymle a execução do Actions tem sucesso emmainouworkflow_dispatch. - Para upload manual/static-hosting do EMAS, o console do Aliyun mostra os arquivos de homepage enviados e uma URL padrão pública.
- A URL pública retorna HTTP 200 ou 3xx seguido de 200.
- A resposta é HTML, não texto de erro XML ou metadados de download forçado.
- A página contém
<htmle um título não vazio ou texto visível no corpo. - Os principais assets referenciados pela homepage são URLs públicas ou remotas.
Referências
- Leia
references/secrets-hand-off.mdquando o usuário precisar de ajuda passo a passo com Aliyun/GitHub Secrets. - Leia
references/troubleshooting.mdquando a implantação ou verificação de URL falhar.