Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
59
Help us understand the problem. What is going on with this article?
@volanja

Ansibleで作るGitlab+Redmine

More than 5 years have passed since last update.

Merry Christmas!!
Ansible Advent Calendar2013も、とうとう最終日です!
ご参加の皆様、ご覧の皆様、ありがとうございます!
あうとーに載らなくて良かったです(笑)

さて、これまで24件の記事は、Ansibleの内部まで踏み込んだ記事(プラグインや記法、Tips)が多くありました。
今回はタイトル通り、私個人がAnsibleで構築しているものを、ご紹介しようと思います。
決してクリスマスが忙しくて、適当になったわけではありません。。
こんなものを作れるんだー、くらいに見ていただければと思います。

インストールするもの。

  • Gitlab
    Ruby on Rails製のGitリポジトリです。Githubのクローン版です。
  • Redmine
    Ruby on Rails製のバグ管理ソフトウェアです。

Ansibleは2つに分割していますが、1台のサーバ上で動作します。

Ansibleで作る理由

  • 1つ目は、あとで簡単に作り直せること。
    勤務先では約3年前からTrac+Subversionを構築していたのですが、変更に次ぐ変更で何をいつ修正加したのか分からない状況でした。 バックアップを取っていましたが、壊れた場合には悲惨な状況になっていたことでしょう。Ansibleであれば、簡単に構築できます(たぶん)。
  • 2つ目は、誰にでも配れること。
    ChefやPuppetも同様ですが、テキストベースなのでバージョン管理・配布しやすいです。加えて、AnsibleはChefなどと比較してもわかりやすいYAMLで書けることはメリットだと思います。勤務先の全員がLinuxやRubyが分かる訳ではなかったりするので、少しでも取っ付き易いほうが良いです。(自部署以外に展開しようとして躓くことが。。)

Gitlab 手順

ソースコード

ソフトウェア構成図

ansible-Gitlab.png

対象環境

CentOS 6.4 64bit (virtualbox + vagrantで構築)

実行環境

$ ansible --version  
ansible 1.4.1 (1.4.1 7bf799af65) last updated 2013/11/30 14:23:28 (GMT +900)

$ ruby -v  
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin11.4.2]

$ gem list |grep serverspec  
serverspec (0.13.2)

インストールするもの

  • ruby 2.0.0p353 (/home/git配下にrbenvでインストール)
  • git 1.7.10+
  • redis 2.0+
  • MariaDB 5.5.33a
  • Gitlab 6.3
  • Nginx

実行手順

1 . hostsファイルの設定変更

clone後、hostsファイル内の対象サーバのIPアドレスを変更してください。

2 . SSH公開鍵認証の準備

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

3 . ansible playbook 実行

対象サーバのドメイン名を次のファイルに定義(デフォルトはcadence)してください。

Windows/Linuxからはhostsファイルの書き換えにより、アクセスするようにします。

+----------------------------------------------------------------------------+
|             File             |          Key          |        Value        |
+----------------------------------------------------------------------------+
| roles/gitlab/vars/main.yml   | server_name           | cadence             |
| roles/hostname/vars/main.yml | server_name           | cadence             |
+----------------------------------------------------------------------------+

次のコマンドで実行します。

$ ansible-playbook setup.yml -i hosts  

4 . テストの準備

Serverspecで行います。

spec/properties.ymlのIPアドレス、秘密鍵を修正してください。

spec/spec.yml
root:
  roles:
    - Packages
    - gitlab
  ip: 192.168.0.108
  private_key: ~/.ssh/id_rsa

5 . テストの実行

次のコマンドで実行します。

$ rake serverspec       # Run serverspec to all hosts

6 . Gitlabへのアクセス

あらかじめアクセスするPCのhostsファイルを次のように変更しておきます。

Windows... C:/Windows/System32/drivers/etc/hosts

Linux,Mac... /etc/hosts

192.168.0.108 gitlab.cadence

次のURLでアクセスできます。

http://gitlab.cadence/  
ID...admin@local.host  
パスワード...5iveL!fe

Redmine 手順

ソースコード

ソフトウェア構成図

ansible-Redmine.png

対象環境

CentOS 6.4 64bit (virtualbox + vagrantで構築)

実行環境

$ ansible --version  
ansible 1.4.1 (1.4.1 7bf799af65) last updated 2013/11/30 14:23:28 (GMT +900)

$ ruby -v  
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin11.4.2]

$ gem list |grep serverspec  
serverspec (0.13.2)

インストールするもの

  • ruby 2.0.0p353 (/home/redmine配下にrbenvでインストール)
  • MariaDB 5.5.33a
  • Redmine 2.4.1
  • Nginx

実行手順

1 . hostsファイルの設定変更

clone後、hostsファイル内の対象サーバのIPアドレスを変更してください。

2 . SSH公開鍵認証の準備

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

3 . ansible playbook 実行

対象サーバのドメイン名を次のファイルに定義(デフォルトはcadence)してください。

Windows/Linuxからはhostsファイルの書き換えにより、アクセスするようにします。

+----------------------------------------------------------------------------+
|             File             |          Key          |        Value        |
+----------------------------------------------------------------------------+
| roles/redmine/vars/main.yml  | server_name           | cadence             |
| roles/hostname/vars/main.yml | server_name           | cadence             |
+----------------------------------------------------------------------------+

次のコマンドで実行します。

$ ansible-playbook setup.yml -i hosts  

4 . テストの準備

Serverspecで行います。

spec/properties.ymlのIPアドレス、秘密鍵を修正してください。

spec/spec.yml
root:
  roles:
    - Packages
    - redmine
  ip: 192.168.0.108
  private_key: ~/.ssh/id_rsa

5 . テストの実行

次のコマンドで実行します。

$ rake serverspec       # Run serverspec to all hosts

6 . Redmineへのアクセス

あらかじめアクセスするPCのhostsファイルを次のように変更しておきます。

Windows... C:/Windows/System32/drivers/etc/hosts

Linux,Mac... /etc/hosts

192.168.0.108 redmine.cadence

次のURLでアクセスできます。

http://redmine.cadence/  
ID...admin
パスワード...admin

以上になります。なにかご指摘あればコメントorプルリクエスト頂けると嬉しいです。

マシンを再起動すると、Gitlabが起動していないことがあったりするので、そこは後で修正します。。

59
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
volanja

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
59
Help us understand the problem. What is going on with this article?