「みんなの翻訳」は、世界中の文書をみんなで協力して翻訳するサイトです。

みんなの翻訳ロゴ
ブクタブ
翻訳サイト

カテゴリ一覧

このサイトについて 新規登録はこちら お試し翻訳

一覧

2017/07/28

メンテナンス終了のお知らせ

2017/7/25-2017/7/28に実施したメンテナンスは、2017/7/28/14:20に終了いたしました。 ご協力をいただき、ありが…

List

kyo2018

English⇒Japanese

Hnoss

English⇒Japanese

yasukazu

English⇒Japanese

shikimi

English⇒Japanese

ホーム > 翻訳記事

翻訳記事

【GitLab 公式 を訳してみた】PostgreSQLを使う

GitLab Documentation>GitLab Continuous Integration (GitLab CI)>CIサービス設定例> PostgreSQLを使う 

  データベースにPostgreSQLを採用しているアプリケーションはたくさんあります。もちろん、アプリケーションのテストを行う際にはデータベースも一緒にテストできる状態にしておかなくてはなりません。
 これから、MySQLをDockerで運用する方法と、GitLab Runnerのシェルエクゼキュータで運用する方法との、2種類をお教えします。
 

  DockerエクゼキュータからPostgreSQLを使う

  もしもGitLab RunnerでDockerエクゼキュータを使っている場合には、基本的にこの設定は完了していることになっています。
 

  まず、「.gitlab-ci.yml」ファイルに次の設定を加えます。

======================
services:
 - postgres:latest

variables:
POSTGRES_DB: nice_marmot
POSTGRES_USER: runner
POSTGRES_PASSWORD: ""
======================

  次に、アプリケーションのデータベースとして使うために必要な設定をします。

======================
Host: postgres
User: runner
Password:
Database: nice_marmot
======================

  なぜここで「Host: postgres」としたのかについては、こちらの『Dockerイメージを使う』というページの『サービスをjobと連携させる方法』という節が参考になると思われます。

  ホストにするDockerイメージは、Docker Hubに公開されているものについては全て使用可能です。

  たとえば、Docker Hub上で公開されている「PostgreSQL 9.3」というサービスなら、「postgres:9.3」として設定コンフィグに記載します。

  今回使用しているpostgresイメージでは、環境変数がいくつか用意されています。

  このような説明は、Docker Hub側の説明書に掲載されていることがほとんどですので、ぜひ入念にご確認ください。


  シェル・エクゼキュータからPostgreSQLを使う

  これは手動で、GitLab Runnerに設定することとなりますが、PostgreSQLをシェルエクゼキュータから利用する方法があります。

 

  まずは、PostgreSQLサーバーをインストールします。

======================
sudo apt-get install -y postgresql postgresql-client libpq-dev
======================

  次に、 PostgreSQLにログインできるようにユーザーアカウントを作成します。

======================
sudo -u postgres psql -d template1
======================

  その後に、そのアプリケーションに対応したランナーのユーザーを作成したら、
以下のコマンドでなるべく強固なパスワード($passwordに相当)を設定します。

  注:template1=#」と先頭に書いてありますが、これはPostgreSQLプロンプトに出現する目印ですので、ご自分ではタイプなさらないでください。

======================
template1=# CREATE USER runner WITH PASSWORD '$password' CREATEDB;
======================

  注:データベースを作成するコマンド(CREATEDB)は、特権ユーザーのみが発令させられます。 上記の方法は、特権ユーザーによってデータベースが作成されることを念頭に、フレームワークのテストやデータベースの開始、終了をしていくことを想定しています。
 

  データベースを作成して、ユーザーがランナーを使えるように特権を与えるコマンド:

======================
template1=# CREATE DATABASE nice_marmot OWNER runner;
======================

  すべての用事が済んで、データベースのセッションを終了させるときのコマンド:

======================
template1=# \q
======================

  なお、データベースがまだ作り立てのときには、接続が確実に行われているかどうかをご確認ください。

======================
psql -U runner -h localhost -d nice_marmot -W
======================

  注:md5認証をご利用の場合は、ローカルホストの接続に「psql」を呼び出す必要があります。
 省略すると、アクセスを拒絶されます。ご注意ください。
 

  最後に、データベースとして使うために、アプリケーション側の設定を行います。

======================
Host: localhost
User: runner
Password: $password
Database: nice_marmot
======================

 

  例示プロジェクト

  もし、オープンソースプロジェクトの作成をお考えで、GitLab.comで作業する予定がある方は、こちらのExample PostgreSQL Projectをお使いいただけます。ここで使用するランナーは共有ランナーです。

  この例示プロジェクトに対して何か思うところはありませんか?「これじゃ物足りない…」、「もうちょっとこの機能が欲しい」とか。
 それだったら、ぜひともこのプロジェクトをフォークして、変更をかけてコミット&プッシュしていただけると嬉しいです。

 変更は、しばらくすると共有ランナーに検知され、jobが開始されます。

 Edit this page

 
PDF
更新日:2018-03-23 21:37:13 Hnoss 0  del.icio.usに追加   はてなブックマークに追加   twitterに投稿   facebookでshare
[ 原文 ] https://docs.gitlab.com/ee/ci/services/postgres.html 原文ページプロジェクト並びにドキュメントファイルは、MIT Licenseのもと公開されています。(URL:https://gitlab.com/gitlab-com/gitlab-docs/blob/master/LICENSE) この記事の文章は、訳者の判断によりCreative Commons BY (version 3.0) を適用するものとします。
翻訳者ページをみる

この記事の翻訳者

Hnoss さんの翻訳記事

[翻訳]GitLabハンドブック>法的文書に署名する

現在の位置: チームハンドブック 目次 >法的文書に署名する  法的文書への署名は、他社・他組織などに直接出向いてNDAsを取り扱った人物を除いては、Cレベル エクゼクティブのみが…2018-04-07 23:31:41

[翻訳]GitLabハンドブック

現在の位置:チームハンドブック 目次  このハンドブックは、GitLabという企業が、どのようにサービスを維持運営していくかを記したものだ。ここに書かれていることが、わが社の中核レ…2018-04-07 23:18:22

【GitLab Pages 公式 を訳してみた】GitLab Pages 説明書 

  新しいドキュメント はこちらです。このドキュメントは旧式です。 GitLab Documentation > User documentation > Projects >GitLab Pages 説明書 …2018-04-06 16:52:11

【GitLab 公式 を訳してみた】GitLab Pages 説明書(改訂版)

GitLab Documentation > User documentation > Projects >GitLab Pages 説明書  GitLab Pagesなら、無料でウェブサイトをホスティングできる。  GitLabにプロジェクトレポジト…2018-04-06 16:50:36