58
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ansibleで作るGitlab+Redmine

Last updated at Posted at 2013-12-24

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が起動していないことがあったりするので、そこは後で修正します。。

58
58
0

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
58
58

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?