定期実行・条件実行ジョブ一覧¶
このドキュメントは、システム全体で定期的または条件に応じて実行されるジョブを一覧化したものです。
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: develop、merge_group |
PR / マージキュー向けコア品質チェック |
ci-pr-main.yml |
CI PR (main) | pull_request: main、merge_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)¶
EmailPlugin の EmailEventListener で登録されており、対応するイベント発火時にメールを送信します。
登録箇所: 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 |