Advanced (Mis à jour: 19/07/2026)

Auditer Azure DevOps Pipelines avec Claude Code pour agences

Flux agence pour PR, ManualValidation, approvals production et rollback.

Auditer Azure DevOps Pipelines avec Claude Code pour agences

Dans une agence web, la pull request, l’URL de staging, l’accord client et le run Azure Pipelines sont souvent dans des onglets séparés. Un petit changement de texte peut partir en production parce que chacun pense qu’un autre a vérifié. Cet article transforme branch policies, ManualValidation et approvals en table de publication.

Où les releases d’agence échouent

  • Séparez PR approval, revue staging, accord client et approval production.
  • Utilisez branch policies pour protéger main ou release avant merge.
  • Utilisez ManualValidation pour stopper le pipeline devant staging URL et rollback.
  • Utilisez environment approvals comme porte production.
  • Claude Code résume YAML et diffs; client, prix, légal, date et rollback restent humains.

The source base is Microsoft Learn for pipeline deployment approvals, ManualValidation@1, release approvals, branch policies, and the tasks reference. For an internal release-flow pattern, see the agency cloud release article.

Ce que Claude Code prépare et ce que l’humain approuve

Dans une agence web, la pull request, l’URL de staging, l’accord client et le run Azure Pipelines sont souvent dans des onglets séparés. Un petit changement de texte peut partir en production parce que chacun pense qu’un autre a vérifié. Cet article transforme branch policies, ManualValidation et approvals en table de publication. Claude Code should read pipeline YAML, PR template, diff summary, staging checklist, branch policy notes, and environment approval notes. It should output a release table that names branch, build, staging deploy, manual validation, production environment, approver, timeout, rollback note, and evidence link.

Humans keep client acceptance, ad claims, pricing, legal copy, publish timing, emergency exceptions, and rollback decision. This distinction keeps the agent from acting like the release owner. The agent prepares evidence; the agency decides.

Trois cas d’usage

Use case 1

Entrée: PR URL, diff, build, reviewers, branch policy, page cible. Sortie: table PR, production, client. Contrôle humain: prix, texte légal, publicité, accord client, date, rollback.

Use case 2

Entrée: staging URL, email reviewer, captures, diff, rollback, deadline. Sortie: instructions ManualValidation@1 et checklist. Contrôle humain: mobile, formulaire, images, liens, analytics, OK client.

Use case 3

Entrée: production environment, approvers, branch control, business hours, exclusive lock, canal. Sortie: ordre, owner, timeout, contact d’échec. Contrôle humain: pas d’auto-approval, nuit, campagne, owner rollback.

Prompt à copier

You are auditing an Azure DevOps release flow for a web agency.
Inputs: azure-pipelines.yml, PR template, branch policy memo, production environment approvals memo, staging URL checklist, and a recent rollback or rework note.
Output:
1. Three-column table: PR review, staging/client review, production approval.
2. ManualValidation@1 instruction text with staging URL, diff, rollback note, owner, and deadline.
3. Production environment approvals and checks proposal.
4. Branch policy list: reviewer, build validation, comment resolution, status check.
5. One first action that can be done in 30 minutes.
Rules: do not let the agent approve client acceptance, pricing, legal wording, publish timing, or production release.

Code de vérification

const pipelineText = [
  "trigger:",
  "  branches:",
  "    include:",
  "      - main",
  "stages:",
  "  - stage: Build",
  "    jobs:",
  "      - job: build",
  "        steps:",
  "          - script: npm ci && npm run build",
  "  - stage: DeployStaging",
  "    jobs:",
  "      - job: deploy_staging",
  "        steps:",
  "          - script: echo deploy staging",
  "  - stage: ClientCheck",
  "    jobs:",
  "      - job: wait_for_client",
  "        pool: server",
  "        steps:",
  "          - task: ManualValidation@1",
  "            inputs:",
  "              notifyUsers: [email protected]",
  "              instructions: Check staging URL, PR diff, rollback note, and client approval.",
  "  - stage: DeployProduction",
  "    jobs:",
  "      - deployment: production",
  "        environment: production",
  "        strategy:",
  "          runOnce:",
  "            deploy:",
  "              steps:",
  "                - script: echo deploy production"
].join(String.fromCharCode(10));

const required = [
  { name: "main branch trigger", pattern: /- main/ },
  { name: "staging stage", pattern: /DeployStaging/ },
  { name: "manual validation", pattern: /ManualValidation@1/ },
  { name: "server pool for manual validation", pattern: /pool:\s*server/ },
  { name: "production environment", pattern: /environment:\s*production/ },
  { name: "rollback note in approval text", pattern: /rollback/i }
];

const findings = [];
for (const rule of required) {
  if (!rule.pattern.test(pipelineText)) {
    findings.push({ item: rule.name, fix: "add this gate before production release" });
  }
}

const productionIndex = pipelineText.indexOf("DeployProduction");
const validationIndex = pipelineText.indexOf("ManualValidation@1");
if (productionIndex !== -1 && validationIndex !== -1 && validationIndex > productionIndex) {
  findings.push({
    item: "approval order",
    fix: "place client/manual validation before production deployment"
  });
}

console.table(findings);
if (findings.length > 0) process.exitCode = 1;

Pitfall: erreurs fréquentes

The first cause is treating PR approval as production approval. The fix is to separate code review, staging review, client acceptance, and production approval by name and owner.

The second cause is relying on notification recipients as if they were approvers. The fix is to inspect environment approval and project permissions separately from notifyUsers.

The third cause is approving without a rollback note. The fix is to add rollback commit, previous artifact, owner, and contact path to the approval text.

The fourth cause is bypassing branch policy under pressure. The fix is to define an emergency exception path with time limit, approver, evidence, and follow-up review.

Questions fréquentes

Q. Should we use ManualValidation or environment approval? A. Use ManualValidation for an in-stage pause such as staging URL review. Use environment approvals and checks as the production gate.

Q. Should client approval live inside Azure DevOps? A. If the client does not use Azure DevOps, store the approval URL or message link in the release memo and tie it to the pipeline run.

Q. Does a small content change need branch policy? A. Yes. Pricing pages, hiring pages, and ad landing pages can affect leads and revenue even when the code diff is small.

Q. Can Claude Code approve the release? A. No. It can summarize diff, list missing evidence, and draft checklists. Humans approve production.

Chemin vers la consultation

Pour une agence, la valeur n’est pas plus de YAML. C’est moins de mauvaises releases et plus de preuves client. Apportez PR récente, YAML, checklist staging et mémo rollback en consultation. Use Claude Code training and consultation if the team needs help turning PRs, pipeline YAML, staging checks, and rollback memos into a repeatable release workflow.

Ce que j’ai vérifié

J’ai vérifié Microsoft Learn pour approvals, ManualValidation@1, release approvals, branch policies et task reference. Le code local vérifie ManualValidation, server pool, production environment et rollback note. Premier geste: séparer PR, staging et production en trois colonnes.

#claude-code #agence #Azure DevOps #CI/CD #release
Gratuit

PDF gratuit: cheatsheet Claude Code

Saisissez votre email et téléchargez une page avec commandes, habitudes de review et workflow sûr.

Nous protégeons vos données et n'envoyons pas de spam.

Masa

À propos de l'auteur

Masa

Ingénieur spécialisé dans les workflows pratiques avec Claude Code.