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

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

カテゴリ一覧

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

一覧

2017/07/28

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

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

List

Hnoss

English⇒Japanese

ajhjhaf

English⇒Japanese

shikimi

English⇒Japanese

hanako

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
更新日:2017-12-22 13:04:21 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-ci.yml 設定メニュー」より抜粋『pages』

  pages  pagesは、GitLabで静的サイトを公開するときに使います。  少し変わったシンタックスで、次の2つの条件を守って設定する必要があります。 静的コンテンツはすべて「p…2018-01-24 17:23:37

【GitLab 公式 を訳してみた】GitLab CI/CDで使える変数

GitLab Documentation > GitLab Continuous Integration (GitLab CI) >GitLab CI/CDで使えるAPI変数  GitLab ランナーは、CIから送られてきたjobをもとに、ビルド環境を整えます。…2018-01-23 23:23:48

【GitLab 公式 を訳してみた】ランナーを登録する

GitLab Runner > ランナーを登録する  「ランナーの登録」とは、GitLabで実際に使っていくランナーをまとめあげる工程を指します。 目次 > 前提条件 > GN…2018-01-23 23:12:24

Configuring GitLab Runnersより抜粋『特定のランナーのトークンを取得する』『タグを使う』『タグが付いていないjobのみを実行する』

  特定のランナーのトークンを取得する  GitLabのインスタンスから、権限の認証を通過せずに、特定ランナーのトークンを作成するには、 プロジェクトの「 Settings ➔ CI/CD 」に移…2018-01-23 22:50:30