コンテンツにスキップ

定期実行・条件実行ジョブ一覧

このドキュメントは、システム全体で定期的または条件に応じて実行されるジョブを一覧化したものです。


GitHub Actions — スケジュール実行

UTC 時刻で記載しています(日本時間 = UTC+9)。

ファイル 名前 cron JST 換算 概要
backup-postgres-prd.yml Backup Postgres (Prod) 5 * * * * 毎時 14:05 JST production Postgres の定期バックアップ
scheduled-safe-probes.yml Safe Probes */10 * * * * 10 分ごと staging 向け安全プローブ(ヘルスチェック相当)
required-workflow-health.yml Required Workflow Health 0 * * * * 毎時 0 分 JST required workflow の死活監視
scheduled-dashboard-smoke.yml Scheduled Dashboard Smoke 45 */6 * * * 0:45 / 6:45 / 12:45 / 18:45 JST React Dashboard のスモークテスト(staging / production)
staging-sentry-smoke-storefront.yml Staging Sentry Smoke Storefront 0 */4 * * * 4 時間ごと staging storefront の Sentry 死活確認
production-smoke-storefront.yml Production Smoke Storefront 30 */6 * * * 6 時間ごと production storefront のスモークテスト
e2e-full.yml E2E (Full) 0 3 * * * 毎日 12:00 JST フル E2E テスト(全シナリオ)
vendure-drift-monitor.yml Vendure Drift Monitor 15 21 * * * 毎日 6:15 JST Vendure スキーマドリフト監視
wordpress-drift-monitor.yml WordPress Drift Monitor 45 22 * * 1 毎週月曜 7:45 JST WordPress 本番環境のドリフト監視
wordpress-drift-audit.yml WordPress Drift Audit 15 22 * * 1 毎週月曜 7:15 JST WordPress ドリフト監査(PR トリガーも兼用)
trivy-fs.yml Trivy Repo FS 30 22 * * 0 毎週日曜 7:30 JST リポジトリ全体の脆弱性スキャン
trivy-vendure-image.yml Trivy Vendure Image 0 23 * * 0 毎週日曜 8:00 JST Vendure Docker イメージの脆弱性スキャン
audit.yml Dependency Audit 0 23 * * 0 毎週日曜 8:00 JST npm 依存関係の監査
ci-timing-report.yml CI Timing Report 0 1 * * 1 毎週月曜 10:00 JST CI 実行時間レポートの収集・通知

GitHub Actions — イベント駆動

push イベント

ファイル 名前 トリガー条件 概要
auto-pr-feature.yml Auto PR (feature → develop) push: feature/* feature ブランチ push 時に develop への PR を自動作成
ci-push-develop.yml CI (push develop) push: develop develop への push 時に lint / test / build を実行
release.yml Release Please push: main main への push 時に Release Please でリリース PR を管理
deploy-production.yml Deploy Production push: main main への push 時に production デプロイ
sync-fly-secrets.yml Sync Fly Secrets push: develop / main(secrets 関連パス変更時) Fly.io へのシークレット同期
docs-quality.yml Docs Quality push: develop / main + PR ドキュメントの品質チェック
terraform.yml Terraform push: develop / main(infra パス変更時) + PR Terraform plan / apply

pull_request イベント

ファイル 名前 トリガー条件 概要
ci-pr-develop.yml CI PR (develop) pull_request: developmerge_group PR / マージキュー向けコア品質チェック
ci-pr-main.yml CI PR (main) pull_request: mainmerge_group main への PR 向け品質チェック
changesets.yml Changesets pull_request: develop / main + workflow_run: Release Please Changeset の検証
cleanup-pr-caches.yml Cleanup PR Caches pull_request: closed PR クローズ時のキャッシュ削除
wordpress-drift-audit.yml WordPress Drift Audit pull_request: develop(wordpress パス変更時) + スケジュール WordPress ドリフト監査
trivy-fs.yml Trivy Repo FS pull_request: develop / main + スケジュール 脆弱性スキャン
trivy-vendure-image.yml Trivy Vendure Image pull_request: develop / main(Dockerfile 変更時) + スケジュール Vendure イメージスキャン

workflow_run チェーン

develop ブランチの CI → deploy → smoke のパイプライン。develop → main の昇格は 明示的な手動操作 (just promote-main / Promote Main の workflow_dispatch) に一本化している (GitHub は workflow_run を3段までしか自動連鎖しないため、4段目の自動 promote は成立しない)。 Staging Smoke は staging 環境の健全性と checkout 防波堤だけを gate し、成功後に別 workflow の Prepare Production Storefront Version が production の Storefront Worker version を事前 upload する。 昇格後の Deploy Production はその version を SHA タグで配信する。

push: develop
  └─ CI (push develop)
      └─ Deploy Staging
           ├─ Staging Smoke Storefront
            │    └─ Prepare Production Storefront Version (production Worker version 事前 upload)
            ├─ Staging Sentry Smoke Storefront(スケジュールも兼用)
            └─ ZAP Storefront Baseline

[手動] just promote-main  → develop → main 昇格 PR を作成・merge

push: main
  └─ Deploy Production
  └─ Release Please
       └─ Changesets
ファイル 名前 トリガーとなる workflow 概要
deploy-staging.yml Deploy Staging CI (push develop) 完了 staging デプロイ
staging-smoke-storefront.yml Staging Smoke Storefront Deploy Staging 完了 staging storefront スモーク
prepare-production-storefront-version.yml Prepare Production Storefront Version Staging Smoke Storefront 完了 production Storefront Worker version 事前 upload
zap-storefront-baseline.yml ZAP Storefront Baseline Deploy Staging 完了 OWASP ZAP によるセキュリティスキャン
changesets.yml Changesets Release Please 完了 + PR Changeset バージョン更新

workflow_dispatch のみ(手動実行専用)

ファイル 名前 概要
promote-main.yml Promote Main develop → main 昇格 PR の作成/更新(just promote-main
deploy-dashboard.yml Deploy Dashboard React Dashboard の手動デプロイ
package-wordpress-plugin.yml Package WordPress Plugin WordPress プラグインのパッケージング
secrets-access-smoke.yml Secrets Access Smoke Secrets Manager アクセス疎通確認
sync-fly-secrets.yml Sync Fly Secrets Fly.io シークレットの手動同期
workers-secrets-sync.yml Workers Secrets Sync Cloudflare Workers シークレットの同期
workers-version-deploy.yml Workers Version Deploy Cloudflare Workers バージョンの手動デプロイ
sync-client-repo.yml Sync Client Repo クライアントリポジトリへのコード同期
production-sentry-smoke-storefront.yml Production Sentry Smoke Storefront production storefront Sentry 死活確認(手動)

Vendure — スケジュールタスク

Vendure の schedulerOptions.tasks に登録され、worker プロセス上で実行されます。
実装: packages/plugins/src/system-integration/smile/scheduler/smile-export-tasks.ts
Sentry 監視ラッパー: apps/vendure-server/src/plugins/sentry-job-monitoring.plugin.ts

タスク ID cron(デフォルト) JST 換算 概要 Sentry monitor slug
smile-export-orders 0 1 * * * 毎日 10:00 JST SMILE 向け受注 CSV のエクスポート vendure-smile-export-orders
smile-export-cleanup 0 2 * * * 毎日 11:00 JST 期限切れの SMILE エクスポートファイルの削除 vendure-smile-export-cleanup

スケジュール変更: SmileIntegrationPlugin.init({ batchExportSchedule: "<cron>" }) で上書き可能。
Sentry 監視: 両タスクとも defaultSentryScheduledTaskMonitors でラップされ、チェックイン / エラー / タイムアウトが Sentry Cron Monitor に通知される。


Vendure — ジョブキュー

Vendure の JobQueueService を使い、非同期・キュー処理されるジョブ。
worker プロセス (index-worker.ts) が処理を担当します。

キュー名 実装 トリガー条件 概要
rits-report-generation packages/plugins/src/standard-extensions/report/report-queue.service.ts 請求書 / 領収書の発行リクエスト時 PDF レポートの非同期生成

Sentry ハートビート: apps/vendure-server/src/observability/sentry-heartbeat-monitor.ts により worker の死活がインターバル監視される。


Vendure — イベント駆動リスナー

Vendure の EventBus を購読し、ビジネスイベント発生時に自動実行される処理です。
実装は packages/plugins/src/ 配下の各リスナー / サービスに分散しています。

EventBus サブスクリプション

リスナー 購読イベント 処理内容 実装ファイル
ReportOrderListener OrderPlacedEvent 注文確定時に invoice を rits-report-generation キューへ enqueue packages/plugins/src/standard-extensions/report/report-order.listener.ts
ReportOrderListener OrderStateTransitionEvent (→ Shipped) 配送遷移時に delivery / label 帳票を enqueue 同上
CommercialOrderLineListener OrderLineEvent カート行変更時に商用ルール(割引等)を再計算キューへ追加 packages/plugins/src/rule-engine/commercial/listeners/commercial-order-line.listener.ts
CommercialOrderLineListener OrderPlacedEvent 注文確定時に商用ルール再計算 同上
CoPurchaseOrderListener OrderPlacedEvent 注文確定時に「一緒に買われている商品」推薦データを更新 packages/plugins/src/standard-extensions/recommendation/listeners/co-purchase-order.listener.ts
BillingCodeListener OrderPlacedEvent 注文確定時に請求コードを自動付与 packages/plugins/src/customer-management/listeners/billing-code.listener.ts
SetProductsOrderLineListener OrderLineEvent セット商品の構成ライン同期 packages/plugins/src/standard-extensions/set-products/order-line-listener.ts
ProductSearchNormalizationListener ProductEvent 商品変更時に検索インデックス(カナ正規化等)を同期 packages/plugins/src/standard-extensions/search/product-search-normalization.listener.ts
CollectionContentsSyncService CollectionModificationEvent コレクションフィルター保存後に materialize 完了を待ち、Dashboard への即時反映を保証 packages/plugins/src/standard-extensions/collection-contents-sync/collection-contents-sync.service.ts
DashboardUserSettingsListener AdministratorEvent 管理者ユーザー変更時に Dashboard 設定を同期 apps/vendure-server/src/plugins/ritsubi-admin-extensions/dashboard-user-settings.listener.ts

メールハンドラー(EmailPlugin)

EmailPluginEmailEventListener で登録されており、対応するイベント発火時にメールを送信します。
登録箇所: apps/vendure-server/src/config/email-handler-configurator.ts

ハンドラー名 トリガーイベント メールテンプレート ID
orderConfirmationHandler OrderPlacedEvent order-confirmation
orderCancelledHandler OrderStateTransitionEvent (→ Cancelled) order-cancelled
shipmentCompletedHandler FulfillmentStateTransitionEvent shipping-completed
emailVerificationHandler アカウント登録完了 email-verification
passwordResetHandler パスワードリセット要求 password-reset
emailAddressChangeHandler メールアドレス変更要求 email-address-change
passwordIssuedHandler PasswordIssuedEvent password-issued
customerProfileUpdatedHandler CustomerEvent customer-updated
registrationCompletedHandler AccountVerifiedEvent registration-completed
loginFailureHandler LoginFailedEvent login-failure

関連ドキュメント