招聘网站的 Azure Container Apps 发布检查
用 Claude Code 检查公开 URL、环境变量、表单、secret 和 revision。
招聘网站可能页面正常打开,但申请表单仍然提交到 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 批量写职位描述和招呼语的实操步骤
面向猎头和招聘顾问。用 Claude Code 批量生成职位描述与候选人招呼语,同时守住质量与个人信息。附提示词模板和校验脚本。
人力中介公司如何用 Claude Code 对照职位说明和候选人邮件
面向人力中介公司,检查职位说明、候选人邮件、客户确认记录和发送前风险。
人力派遣公司用 Claude Code 把岗位推荐文从 30 分钟压到 5 分钟
面向人力派遣顾问。把面试记录整理成匹配备忘、把岗位推荐文交给生成式 AI 起草,附可直接复制的提示词、清单和校验脚本。
免费 PDF: Claude Code 速查表
输入邮箱即可获取一页 PDF,整理常用命令、审查习惯和安全工作流。
我们会妥善保护你的信息,不发送垃圾邮件。
让 Claude Code 真正进入可验证的工作流
先用免费 PDF 固定基础,再用 Gumroad 教材复用工作流;如果涉及团队导入、权限或收入路径,可以直接咨询。
关于作者
Masa
专注 Claude Code 实务流程、团队导入和内容转化的工程师。