Advanced (更新: 2026/7/19)

招聘网站的 Azure Container Apps 发布检查

用 Claude Code 检查公开 URL、环境变量、表单、secret 和 revision。

招聘网站的 Azure Container Apps 发布检查

招聘网站可能页面正常打开,但申请表单仍然提交到 staging。招聘负责人看职位页、申请按钮、公开 URL 和感谢页。技术负责人看 Azure Container Apps、ingress、环境变量、secret、domain 和 revision。发布安全,必须让两张表描述同一条候选人路径。

Puntos clave

  • 只看到职位页不够。
  • 检查表单、公开 URL、环境变量和感谢页。
  • Container Apps 涉及 ingress、secret、custom domain 和 revision。
  • Claude Code 准备表格,人来批准。
  • 观察 form reach rate、application completion rate、error 和 review minutes。

Flujo de publicación

具体材料是职位 URL、申请表、截图、变量列表、FQDN、custom domain 和 revision。流程在投放前检查内容、URL、表单、ATS、邮件、traffic 和 rollback。

Fuentes oficiales revisadas: Azure Container Apps overview, ingress overview, configure ingress, environment variables, manage secrets, managed identities, custom domains and certificates, and revisions. También está relacionado con Bicep safety review.

Qué revisa Claude Code y qué decide una persona

只给 Claude Code 清理后的 sheet:变量名、隐藏后的值、YAML、公开 URL、traffic、form endpoint 和 rollback。不要给候选人数据、简历、ATS token、production secret 或私人邮箱。

Claude Code revisa URL pública, variables vacías, staging, token plano, ingress, HTTPS, traffic de revision, owner y rollback. La persona decide texto de empleo, privacidad, datos personales, ATS, horario de publicación, dominio, aprobación y cambio de tráfico.

3 Use Cases

Use case 1: URL pública y dominio

  • Input: FQDN de Container Apps, custom domain, URL canonical, capturas.
  • Output: tabla de URL visible, staging detectado, certificado, apply button.
  • Human review: nombre de empresa, cargo, ubicación, móvil, aprobación y anuncios.

Use case 2: Variables y secrets

  • Input: variables, secrets, endpoint del formulario, correo, ATS.
  • Output: valores vacíos, staging, token plano, falta de secret reference, thanks page.
  • Human review: datos de candidatos, contrato ATS, destinatario de correo, consentimiento y retención.

Use case 3: Revision traffic y rollback

  • Input: revisions, latest ready, traffic split, hora de lanzamiento, previous revision.
  • Output: revision en vivo, revision solo preview, condición de cambio y vuelta atrás.
  • Human review: inicio de anuncio, job board, responsable de soporte y decisión de emergencia.

Prompt reutilizable

Act as a release reviewer for a recruiting site running on Azure Container Apps.
Check public URL, FQDN, custom domain, environment variables, secrets, form endpoint, revision traffic, owner, and rollback.
Never run deployment commands.
Return the five rows the team should inspect today.

Código de verificación

// verify-container-apps-release-sheet.mjs
// No dependencies. Run with: node verify-container-apps-release-sheet.mjs
const releaseSheet = {
  industry: "recruiting",
  page: "career-site",
  expectedPublicUrl: "https://jobs.example.co.jp",
  actualFqdn: "career-prod.red-bay.azurecontainerapps.io",
  customDomainBound: false,
  ingress: { enabled: true, external: true, targetPort: 3000, allowInsecure: true },
  environmentVariables: [
    { name: "PUBLIC_SITE_URL", value: "https://staging-jobs.example.co.jp", secretRef: "" },
    { name: "FORM_POST_ENDPOINT", value: "", secretRef: "" },
    { name: "ATS_API_TOKEN", value: "plain-token-example", secretRef: "" }
  ],
  secrets: [],
  revision: { latestReady: true, trafficToLatest: 0, oldRevisionTraffic: 100 },
  owner: "",
  rollbackNote: ""
};

const problems = [];

if (!releaseSheet.customDomainBound || !releaseSheet.actualFqdn.includes("jobs.example.co.jp")) {
  problems.push({ item: "public URL", fix: "confirm custom domain, managed certificate, and canonical job URL" });
}
if (!releaseSheet.ingress.enabled || !releaseSheet.ingress.external) {
  problems.push({ item: "ingress", fix: "external recruiting pages need reviewed HTTP ingress before launch" });
}
if (releaseSheet.ingress.allowInsecure) {
  problems.push({ item: "HTTPS", fix: "disable insecure connections before candidates open the page" });
}
for (const env of releaseSheet.environmentVariables) {
  if (!env.value && !env.secretRef) {
    problems.push({ item: "env: " + env.name, fix: "set the value or a secret reference before launch" });
  }
  if (/TOKEN|SECRET|PASSWORD|KEY/i.test(env.name) && env.value && !env.secretRef) {
    problems.push({ item: "plain secret: " + env.name, fix: "move token values to Container Apps secrets or Key Vault references" });
  }
}
if (releaseSheet.revision.latestReady && releaseSheet.revision.trafficToLatest === 0) {
  problems.push({ item: "revision traffic", fix: "assign test traffic or switch traffic after preview approval" });
}
if (!releaseSheet.owner) {
  problems.push({ item: "owner", fix: "write the human owner for public URL, form delivery, and rollback" });
}
if (!releaseSheet.rollbackNote) {
  problems.push({ item: "rollback", fix: "write the previous revision or stop condition before campaign launch" });
}

if (problems.length > 0) {
  console.table(problems);
  process.exitCode = 1;
} else {
  console.log("Container Apps recruiting release sheet passed.");
}

Pitfall: errores comunes

No apruebes solo porque la página carga. El formulario, thanks page, email y ATS pueden usar otra configuración. No pongas tokens de ATS como valores planos. No confundas FQDN con dominio público. No ignores revision traffic. La corrección es una tabla con URL, variable, secret, traffic, owner y rollback.

FAQ

Q. ¿Container Apps sirve para un sitio de empleo?

A. Sí, si hay backend de formulario, ATS, preview revision o runtime de contenedor. Una página estática simple puede usar otra opción.

Q. ¿Puedo pasar variables a Claude Code?

A. Pasa nombres y valores ocultos. No pases datos de candidatos, CV, tokens ATS ni secrets de producción.

Q. ¿Qué miro hoy?

A. PUBLIC_SITE_URL, FORM_POST_ENDPOINT, THANKS_PAGE_URL, custom domain y revision traffic.

Q. ¿Qué métrica importa?

A. Form reach rate, application completion rate, send errors, errores detenidos y minutos de revisión.

Señal para consulta

Si las visitas suben pero las postulaciones no, revisa release quality. Container Apps, secrets, custom domain, revision traffic y ATS encajan con ClaudeCodeLab training.

Resultado verificado

Se revisaron fuentes oficiales, CTA, JavaScript ejecutable, enlaces internos y externos, cobertura de locales y eliminación de la cola. La primera acción es copiar PUBLIC_SITE_URL, FORM_POST_ENDPOINT, THANKS_PAGE_URL, custom domain y revision traffic en una tabla.

#claude-code #招聘 #azure-container-apps #环境变量 #revision
免费

免费 PDF: Claude Code 速查表

输入邮箱即可获取一页 PDF,整理常用命令、审查习惯和安全工作流。

我们会妥善保护你的信息,不发送垃圾邮件。

让 Claude Code 真正进入可验证的工作流

先用免费 PDF 固定基础,再用 Gumroad 教材复用工作流;如果涉及团队导入、权限或收入路径,可以直接咨询。

Masa

关于作者

Masa

专注 Claude Code 实务流程、团队导入和内容转化的工程师。