Revisar despliegues de Azure Container Apps para sitios de empleo
Claude Code revisa URL pública, variables, formulario, secrets y revisions antes de publicar.
Un sitio de empleo puede cargar bien y aun así enviar el formulario a staging. El equipo de selección mira la página, el botón de postulación, la URL pública y el correo posterior. El equipo técnico mira Azure Container Apps, ingress, variables, secrets, dominio y revisions. La publicación solo funciona cuando ambos mapas coinciden.
Puntos clave
- No basta con ver la página de empleo.
- Revisa formulario, URL pública, variables y thanks page.
- Container Apps usa ingress, secrets, custom domain y revisions.
- Claude Code prepara la tabla; una persona aprueba.
- Mide form reach rate, application completion rate, errores y minutos de revisión.
Flujo de publicación
Los artefactos son URL de empleo, formulario, capturas, lista de variables, FQDN, custom domain y revisions. El flujo revisa contenido, URL, formulario, ATS, correo, traffic y rollback antes de abrir campañas.
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
Entrega a Claude Code una hoja saneada: nombres de variables, valores ocultos, YAML, URL pública, traffic, endpoint del formulario y rollback. No entregues datos de candidatos, CV, token ATS, secrets ni buzones privados.
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 formación ClaudeCodeLab.
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.
Artículos relacionados
Cómo comparar ofertas y correos a candidatos con Claude Code antes de enviarlos
Workflow para agencias de reclutamiento: revisar ofertas, emails, notas del cliente y datos JobPosting antes del envío.
Cómo crear ofertas de empleo y mensajes de captación en serie con Claude Code para tu agencia de reclutamiento
Para reclutadores: crea ofertas y mensajes de captación en serie con Claude Code sin perder calidad ni datos personales.
Revisa ofertas de empleo de agencias de selección con Claude Code
Detecta datos ausentes, frases ambiguas, riesgos y diferencias con JobPosting antes de publicar una oferta.
PDF gratis: cheatsheet de Claude Code
Introduce tu email y descarga una hoja con comandos, hábitos de revisión y flujos seguros.
Cuidamos tus datos y no enviamos spam.
Sobre el autor
Masa
Ingeniero enfocado en workflows prácticos con Claude Code.