メインコンテンツへ移動
JA
ホーム / CI/CDはBuildだけではない:GitLab CI・GitHub ActionsのQuality Gate
2026年7月02日 · Z-SOFT Admin · 読了目安 10 分

CI/CDはBuildだけではない:GitLab CI・GitHub ActionsのQuality Gate

Source、Lint、Test、Build、Securityを検証し、署名・追跡可能なArtifactを作ります。

記事一覧へ戻る

要点: Production CIはMergeごとにSourceのCorrectness、Security、Buildability Evidenceを作ります。

課題

Compile成功だけではGenerated Drift、Skip Test、脆弱Dependency、Secret漏洩、Review外Imageを防げません。過権限RunnerもSupply-chain Riskです。

単純な対策だけでは不十分な理由

GitLabとGitHubはSyntaxが違っても、最小Permission、Job Isolation、Immutable Artifactという設計は同じです。

Security FindingにはPolicy、Owner、Exception Expiryが必要です。

処理フロー

Source Verify
Format・Lockfile
Quality
Lint・Type・Test・Build
Security
Secret・SAST・Dependency・Image
Release
SBOM・Signature・Provenance
Fast Checkで早期Failureし、Verified CommitだけがImmutable Artifactを作ります。

アーキテクチャ上の判断

Fail Fast

Format、Verify、Lint、Typeを先に実行します。

Build Once Promote

同一DigestをStagingとProductionで使います。

Trust Zone分離

PRはRead-only、Sign・DeployはProtected Refと短期Identityだけです。

さらに深く考える

Source Drift検証

Generated FileとLockfile後のClean Treeを確認します。

ExceptionをDebt管理

Owner、Control、Expiryを持ち、期限切れでFailします。

実装手順

  1. Repository StateとGenerated Outputを先に検証します。
  2. Lint、Type、Test、Production Buildを明示Thresholdで並列化します。
  3. Scan後、一度Build・SignしたDigestを全環境へPromoteします。

技術例: Equivalent Quality Gates

verify: format --check; generated-diff; lockfile-policy
quality: lint; typecheck; unit --coverage; integration
build: production-build; migration-check
security: secret-scan; SAST; dependency-audit; image-scan
release: SBOM; sign(digest); attest(provenance)
deploy: promote(the_same_digest)

GitLabはstages・needs、GitHubはjobs・needsを使い、実CommandはRepository Scriptへ置きます。

想定すべき障害パターン

  • Untrusted BranchのCacheを使います。
  • 必須TestをSkipしてExit 0になります。
  • Deploy時RebuildでDigestが変わります。

監視すべきシグナル

シグナル確認する理由
Pipeline・Queue時間Feedback速度です。
Gate Failure・Flaky率Defectと不安定Automationを分けます。
Digest・SBOM・Signature CoverageRelease Evidenceです。

設計の検証方法

  • Lint、Test、Build、Secret、脆弱性を意図的に失敗させます。
  • Untrusted PRの権限を試験します。
  • Production Digestから全Evidenceを追跡します。

安全なRollout計画

Report-onlyからNoiseを除去し、Fast Gate、Security、Signingの順でEnforceします。Cache・Parallel化でもTrust境界を維持します。

本番前チェックリスト

  • Protected Branchは全CheckとReviewを要求します。
  • Untrusted PRはSecretやPrivileged Runnerへ到達しません。
  • 失敗JobはRelease可能Artifactを残しません。

まとめ

CI/CDはReviewed SourceからProduction ArtifactまでのEvidence Chainです。

戦略的テクノロジーパートナー

ビジネス課題を、明確なロードマップへ。

目標や現状、次に進むべき方向について、Z-SOFT のチームに直接ご相談ください。

相談を予約する