Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • コンピューティング (dyno)
      • dyno の管理
      • dyno の概念
      • dyno の動作
      • dyno の参照資料
      • dyno のトラブルシューティング
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • 開発者ツール
    • コマンドライン
    • Heroku の VS Code 拡張機能
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Node.js アプリのトラブルシューティング
      • Heroku での Node.js の動作
      • Node.js の操作
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Ruby の操作
      • Heroku での Ruby の動作
      • Ruby アプリのトラブルシューティング
    • Python
      • Python の操作
      • Python でのバックグラウンドジョブ
      • Heroku での Python の動作
      • Django の使用
    • Java
      • Heroku での Java の動作
      • Java の操作
      • Maven の使用
      • Spring Boot の使用
      • Java アプリのトラブルシューティング
    • PHP
      • PHP の操作
      • Heroku での PHP の動作
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Heroku Postgres への移行
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Vector Database
    • Working with AI
    • Heroku Inference
      • AI Models
      • Inference Essentials
      • Heroku Inference Quick Start Guides
      • Inference API
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • 継続的デリバリーとインテグレーション
  • 継続的統合
  • Heroku CI の In-Dyno データベース

Heroku CI の In-Dyno データベース

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2024年12月03日(火)

Table of Contents

  • In-Dyno データベース
  • 使用
  • リリースポリシー
  • バージョンを設定する
  • 制限

In-Dyno データベースは Heroku CI の機能です。In-Dyno データベースは一時的なもので永続性はありませんが、必要なネットワーク帯域幅が少なく、本番アドオンの対応するデータベースより柔軟であるため、柔軟性とパフォーマンスが向上します。

Heroku CI は現在、Fir​ 世代のパイプラインでは使用できません。この機能が Fir に追加されたときに通知を受け取るには、Changelog​ の受信登録を行ってください。

In-Dyno データベース

In-Dyno データベースは、テスト実行の dyno の内部で実行されるデータベースです。これらのデータベースは、Heroku Postgres や Heroku Key-Value Store (KVS) などの従来の Heroku アドオンとはいくつかの重要な点で異なります。

  • データベースクエリがネットワーク経由で渡されることはないため、より一貫した、速い速度で完了します。
  • 外部アドオンに適用される制限 (行制限、接続制限、機能の有効化、より多くのデータベースを作成する機能など) の多くが適用されません。
  • データは一時的です。つまり、どのような方法でも保持されたり、バックアップされたり、dyno の外部で使用可能にされたりしません。

このタイプのデータベースの主な欠点はその一時性であるため、このタイプのデータベースは本番使用には適していません。ただし、テスト実行はそれ自体が一時的であるため、柔軟性と速度の向上という利点により CI ワークフローが大幅に機能強化されます。

使用

In-Dyno データベースを使用するには前に、app.json でテスト対象の言語が反映された buildpack を指定しておく必要があります。次に例を示します。

{
  "buildpacks": [
    { "url": "heroku/ruby" }
  ]
}

in-dyno​ プランを使用することにより、Heroku CI のテスト実行に In-Dyno データベースを使用できます。これは app.json で指定できます。次に例を示します。

{
  "environments": {
    "test": {
      "addons": ["heroku-postgresql:in-dyno", "heroku-redis:in-dyno"]
    }
  }
}

テスト実行が開始されたら、必要に応じて DATABASE_URL​ または REDIS_URL​ 経由で通常どおりにデータベースを使用できます。これらの URL は、ローカルにインストールされたデータベースを指します。

リリースポリシー

In-Dyno データベースは、必ずしも従来のアドオンリリースと整合するとは限りません。In-Dyno データベースは一般に、必要に応じて最新のメジャーバージョンとリリースポイントバージョンを対象にします。

バージョンを設定する

テスト実行のために Postgres の特定のバージョンが必要な場合は、app.json​ ファイルで POSTGRESQL_VERSION​ の値を指定します。Heroku CI ですべてのリリースが使用できるわけではないことに注意してください。現在は 14​、15​、16​ のメジャーバージョンがサポートされています。

{
  "environments": {
    "test": {
      "env": { "POSTGRESQL_VERSION": "16" },
      "addons": ["heroku-postgresql:in-dyno"]
    }
  }
}

同様に、テスト実行のために特定のバージョンの KVS を選択するには、app.json​ ファイルの REDIS_VERSION​ に値を指定します。これは、KVS のメジャーバージョン (6.2​ または 7.0​) または 6.2.10​ などのフルバージョン文字列のいずれかに設定します。次に例を示します。

{
  "environments": {
    "test": {
      "env": { "REDIS_VERSION": "7.0" },
      "addons": ["heroku-redis:in-dyno"]
    }
  }
}

制限

  • In-Dyno データベースは Heroku CI でのみ機能します。その他のタイプのアプリ (Review Apps または Heroku Button アプリなど) ではプロビジョニングされません。
  • 現在、heroku-redis​ および heroku-postgresql​ アドオンでは in-dyno​ プランのみがサポートされています。
  • In-Dyno Postgres インスタンスは、SSL 接続をサポートしていません。
  • In-Dyno Postgres のサポートは、次の拡張機能に制限されています。
    • uuid
    • libxslt
    • libxml
    • openssl
    • gssapi
    • krb5

関連カテゴリー

  • 継続的統合
'Heroku CI: ブラウザおよびユーザー承認テスト (UAT)' Heroku CI の並列テスト実行

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices