Postgres構成の例
このガイドでは、Postgresに依存するプロジェクトの継続的インテグレーションパイプラインの構成について説明します。Droneを初めて使用する場合は、最初にチュートリアルとビルド構成ガイドをお読みください。
基本例
以下の例では、Postgresサービスコンテナを起動するパイプラインを示しています。データベースサーバーは、ホスト名がサービスコンテナ名と一致するdatabase:5432
で利用可能になります。
1 kind: pipeline
2 name: default
3
4 steps:
5 - name: test
6 image: postgres:9-alpine
7 commands:
8 - psql -U postgres -d test -h database
9
10 services:
11 - name: database
12 image: postgres:9-alpine
13 environment:
14 POSTGRES_USER: postgres
15 POSTGRES_DB: test
データベース設定
公式のPostgresイメージは、デフォルトのユーザー名、パスワード、データベースなどを作成するために起動時に使用される環境変数を提供します。詳細については、公式の画像ドキュメントを参照してください。
10 services:
11 - name: database
12 image: postgres
13 environment:
14 POSTGRES_USER: postgres
15 POSTGRES_DB: test
一般的な問題
初期化
Postgresコンテナに接続できない場合は、Postgresに接続の初期化と受け入れを開始するための十分な時間を与えていることを確認してください。
1 kind: pipeline
2 name: default
3
4 steps:
5 - name: test
6 image: postgres
7 commands:
8 - sleep 15
9 - psql -U postgres -d test -h database
ホスト名が正しくありません
127.0.0.1
またはlocalhost
を使用してPostgresコンテナに接続することはできません。 Postgresコンテナに接続できない場合は、postgresサービスコンテナの名前に対応する正しいホスト名を使用していることを確認してください。
悪い:
steps:
- name: test
image: postgres
commands:
- sleep 15
- psql -U postgres -d test -h localhost
良い:
steps:
- name: test
image: postgres
commands:
- sleep 15
- psql -U postgres -d test -h database