제작사의 Cloud Build CI/CD: 고객 랜딩페이지 공개 사고 줄이기
제작사를 위한 Cloud Build, 승인 게이트, 서비스 계정, 공개 전 체크 흐름입니다.
제작사가 고객 랜딩페이지를 공개할 때 가장 무서운 순간은 마지막 클릭입니다. 가격표만 고쳤는데 예전 캠페인 이미지가 돌아오고, 테스트 formId가 본번에 나가고, 광고 태그가 빠지고, 다른 고객의 환경 변수가 빌드에 섞입니다.
이 글은 Cloud Build를 제작사용 공개 점검 흐름으로 바꾸는 방법을 설명합니다. Claude Code는 체크리스트, diff 표, cloudbuild.yaml 초안을 만들고, 사람은 고객 약속, 가격, 법무 문구, 광고 태그, 공개 시각을 승인합니다.
이 글의 요점
-
Check client name, URL, form ID, tracking tags, price, legal copy, approver, and rollback before deploy.
-
Cloud Build gives triggers, approvals, repository connections, service accounts, and build logs.
-
Claude Code drafts release tables, diff summaries, cloudbuild.yaml changes, and rollback notes.
-
Humans approve client promises, price, legal copy, tracking, and production timing.
-
Send serious readers to training because release workflows depend on each agency.
제작사 공개 사고가 생기는 지점
공개 흐름은 고객명, 공개 URL, 확인 URL, 브랜치, formId, 광고 태그, 가격표, 법무 문구, OGP 이미지, 승인자, build id, rollback 명령에서 시작합니다. Cloud Build trigger는 저장소 이벤트로 build를 실행하고, approval gate는 승인 전까지 build를 멈출 수 있습니다. 사용자 지정 service account는 공개 경로별 권한을 작게 유지하는 데 도움이 됩니다.
Official references: Cloud Build, triggers, approval gates, repositories, user-specified service accounts, and default service account guidance.
흐름: 공개 전에 랜딩페이지 실수를 막기
공개 흐름은 고객명, 공개 URL, 확인 URL, 브랜치, formId, 광고 태그, 가격표, 법무 문구, OGP 이미지, 승인자, build id, rollback 명령에서 시작합니다. Cloud Build trigger는 저장소 이벤트로 build를 실행하고, approval gate는 승인 전까지 build를 멈출 수 있습니다. 사용자 지정 service account는 공개 경로별 권한을 작게 유지하는 데 도움이 됩니다.
| Area | Draft from Claude Code | Human review |
| --- | --- | --- |
| cloudbuild.yaml | build, test, deploy, rollback | production approver |
| Diff | changed files, price, CTA, tags | client-approved content |
| Env names | required keys, staging/prod difference | no secret values pasted |
| Form | action, formId, thanks URL | production destination |
| Build log | build id, commit, approver, URL | rollback is recorded |
Claude Code가 할 일과 사람이 결정할 일
공개 흐름은 고객명, 공개 URL, 확인 URL, 브랜치, formId, 광고 태그, 가격표, 법무 문구, OGP 이미지, 승인자, build id, rollback 명령에서 시작합니다. Cloud Build trigger는 저장소 이벤트로 build를 실행하고, approval gate는 승인 전까지 build를 멈출 수 있습니다. 사용자 지정 service account는 공개 경로별 권한을 작게 유지하는 데 도움이 됩니다.
3가지 Use case
Use case 1: Release checklist per client LP
-
Input: cloudbuild.yaml, package.json, LP diff, preview URL, client approval memo, form settings.
-
Output: checklist for price, CTA, form ID, tracking tag, OGP, thanks URL, approver.
-
Human review: confirm client-approved copy, release time, and production contact destination.
Use case 2: Add an approval gate
-
Input: trigger settings, target branch, release target, approver, emergency rule.
-
Output: approval conditions, approver, build id, commit, release URL, rejection steps.
-
Human review: decide whether this client needs approval and whether release timing matches ads.
Use case 3: Split service accounts by client path
-
Input: Cloud Build service account, Secret references, host target, client project, public URL.
-
Output: client, service account, readable secrets, deploy target, broad permission candidates.
-
Human review: confirm client A builds cannot read client B secrets, and retired users are gone.
복사해서 쓰는 프롬프트
Review a web agency Cloud Build CI/CD workflow. Goal: reduce client landing page release incidents. Build a release checklist for client name, URL, form ID, tracking tags, price table, approver, and rollback. Separate what Claude Code can inspect, what a human must approve, and what requires client approval. Do not run change commands. Main CTA: /training/.
실행 가능한 확인 코드
const releases = [{ client: 'Client B', url: 'https://example.net/campaign', formId: 'stg-contact', approver: '', rollback: '' }];
const findings = releases.flatMap((r) => {
const issues = [];
if (!r.url.startsWith('https://')) issues.push('URL is not HTTPS');
if (!r.formId || /stg|test|dev/i.test(r.formId)) issues.push('form ID looks like staging');
if (!r.approver) issues.push('approver is missing');
if (!r.rollback) issues.push('rollback is missing');
return issues.map((issue) => ({ client: r.client, issue }));
});
console.table(findings);
if (findings.length) process.exitCode = 1;
Pitfall: CI/CD가 공개를 빠르게 만들고 사고도 키운다
공개 흐름은 고객명, 공개 URL, 확인 URL, 브랜치, formId, 광고 태그, 가격표, 법무 문구, OGP 이미지, 승인자, build id, rollback 명령에서 시작합니다. Cloud Build trigger는 저장소 이벤트로 build를 실행하고, approval gate는 승인 전까지 build를 멈출 수 있습니다. 사용자 지정 service account는 공개 경로별 권한을 작게 유지하는 데 도움이 됩니다.
Cause: automation makes the release path fast before the human review path is clear. Fix: let machines check build, links, env names, and form ID format; keep price, legal copy, client approval, and ad timing as human approval steps.
FAQ
Q. Is Cloud Build too heavy for an agency? A. Use it first for high-frequency LPs, forms, and ad-linked releases.
Q. Why not GitHub Actions? A. GitHub Actions can work. Cloud Build is convenient when secrets, hosting, Cloud Run, Cloud Storage, Artifact Registry, and logs are already in Google Cloud.
Q. Can Claude Code deploy directly? A. Start with tables and diffs. Production deploy should wait for human approval.
상담으로 이어가기
ClaudeCodeLab training can help design Cloud Build triggers, approval gates, client-specific service accounts, and rollback notes for an agency release workflow.
실제로 확인한 결과
This article checks frontmatter, official links, three use cases, input-output-human review labels, code fences, and the /training/ CTA. The JavaScript sample detects staging form IDs, missing approvers, and missing rollback steps.
관련 글
Claude Code를 팀에 도입하기 전에 만드는 '위험 대장'의 속살
Claude Code를 개인 실험으로 끝내지 않고 팀에 도입하기 위해, 권한·CI·배포 사고를 막는 위험 대장 만드는 법을 실제 예시와 코드로 설명합니다.
Claude Code CI/CD 설정: GitHub Actions를 안전하게 자동화하기
Claude Code와 GitHub Actions로 안전한 CI/CD, 테스트 게이트, Secrets, 배포 승인, 복구를 설계합니다.
Claude Code로 프로덕션 DB 마이그레이션 안전하게 하기
Claude Code로 expand/contract, Prisma, CI, 백필, 롤백 한계를 포함한 프로덕션 DB 마이그레이션을 설계합니다.
무료 PDF: Claude Code 치트시트
이메일을 입력하면 명령, 리뷰 습관, 안전한 워크플로를 정리한 PDF를 받을 수 있습니다.
개인정보를 안전하게 관리하며 스팸을 보내지 않습니다.
작성자 소개
Masa
Claude Code 실무 워크플로와 팀 도입을 검증하는 엔지니어입니다.