LoginSignup
9

More than 5 years have passed since last update.

AnsibleでGitlab構築(nginx MariaDB CentOS7 unicorn)

Last updated at Posted at 2015-07-25

業務でGitを使うときになかなか GitHub Enterpriseまでは手が出せません。
そこで、GitLabを使ってみるのですが既に用意されているOmnibus GitLabは一発インストールである反面既にnginxがインストールされている環境ですと重複してインストールされてしまいます。

GitLabだけなんとか入れたいと思い構築をしたものの、本番環境以外にバックアップ環境やテスト環境も作成したいので手順を再利用したくAnsibleで手順を書いてみました。
サブディレクトリでの運用やリバースプロキシに対応できるようにしています。

対象サーバーGitLab動作環境

CentOS7 (vagrant + virtualbox, VMWare ESXiで確認)

対象サーバーOSに事前に設定しておくもの

SELINUX

別のAnsibleのロールで以下のようにしています。

yaml
# SELINUX
- name: Install libselinux-python
  yum: name=libselinux-python state=present
- name: disabled selinux
  selinux: state=disabled
- name: Disable selinux
  selinux: policy=targeted state=disabled

rootユーザー SSH公開鍵認証の準備

対象サーバにSSH公開鍵認証方式でrootユーザーがログイン出来るように準備してください。

yumで対象サーバーに事前に入れておくもの

  • Postfix
  • Ruby
  • Git
  • MariaDB
  • nginx

実行後にインストールされるもの

  • rails
  • unicorn
  • redis

Ansible ソースコード

構築時にハマったこと

cloneしたGitLabにGemfileがあり bundle install する手順があるのですが、依存するgemが不足していましたので
Gemfile.localに

gem 'charlock_holmes', '0.6.9.4'
gem 'execjs'

を追加してbundleするようにしました。
併せてexecjsが必要とする nodejs と npm をyumで事前にインストールしています。

参考にしたサイト

GitLabをCentOS7にインストールしてみた by @supertaihei02 on @Qiita http://qiita.com/supertaihei02/items/8c7b12b406cb6a1517a2
Ansibleで作るGitlab+Redmine by @volanja on @Qiita http://qiita.com/volanja/items/8362beb5a929a07afee4
GitLab Community Edition Installation from source https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9