Redmine構築のAnsibleを読み解く2

前回が長くなったので、続き

参考にしたサイトは以下
https://github.com/farend/redmine-centos-ansible/blob/master/site.yml

yamlの中身

- hosts: redmine-servers

  roles:
    - system
    - pg
    - ruby
    - redmine
    - apache

redmine本体のインストールは、以下

role/tasks/main.yml

- name: Redmineのソースコードをチェックアウト
  become: yes
  subversion:
    repo={{ redmine_svn_url }}
    dest={{ redmine_dir }}

- name: database.ymlの作成
  become: yes
  template:
    src=database.yml
    dest={{ redmine_dir }}/config/database.yml
    force=no
  register:
    result_database_yml

- name: configuration.ymlの作成
  become: yes
  template:
    src=configuration.yml
    dest={{ redmine_dir }}/config/configuration.yml
    force=no

- name: Gemfile.lockが存在するか確認
  command:
    test -f {{ redmine_dir }}/Gemfile.lock
  register:
    result_test_gemfile
  failed_when: result_test_gemfile.rc not in [0, 1]
  changed_when: false

- name: gemsパッケージのインストール
  become: yes
  command:
    bundle install --path vendor/bundle
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
  when:
    result_test_gemfile.rc == 1

- name: gemsパッケージのアップデート
  become: yes
  command:
    bundle update
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
  when:
    result_test_gemfile.rc == 0

- name: secret tokenの作成
  become: yes
  command:
    bundle exec rake generate_secret_token
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production

- name: データベースのマイグレーション
  become: yes
  command:
    bundle exec rake db:migrate
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production

- name: デフォルトデータ(日本語)をロード
  become: yes
  command:
    bundle exec rake redmine:load_default_data
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
    REDMINE_LANG: ja
  when:
    result_database_yml is changed

- name: farend_basicテーマのダウンロード
  become: yes
  git:
    repo=https://github.com/farend/redmine_theme_farend_basic.git
    dest={{ redmine_dir }}/public/themes/farend_basic

- name: テーマをfarend_basicに切り替え
  become: yes
  command:
    bundle exec rails r 'Setting["ui_theme"]="farend_basic"'
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
  when:
    result_database_yml is changed

- name: デフォルトの言語を日本語に変更
  become: yes
  command:
    bundle exec rails r 'Setting["default_language"]="ja"'
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
  when:
    result_database_yml is changed

- name: ユーザー名の表示形式を「姓 名」に変更
  become: yes
  command:
    bundle exec rails r 'Setting["user_format"]=:lastname_firstname'
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
  when:
    result_database_yml is changed

- name: 添付ファイルとリポジトリのエンコーディングを設定
  become: yes
  command:
    bundle exec rails r 'Setting["repositories_encodings"]="UTF-8,CP932,EUC-JP"'
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
  when:
    result_database_yml is changed

- name: 添付ファイルのサムネイルを表示
  become: yes
  command:
    bundle exec rails r 'Setting["thumbnails_enabled"]="1"'
    chdir={{ redmine_dir }}
  environment:
    PATH: "/usr/local/bin:{{ ansible_env.PATH }}"
    RAILS_ENV: production
  when:
    result_database_yml is changed

Redmineソースコードを手元から持ってくるように変更しよう
あとは、gemfileのソースを変更する必要がある

それから、まだ足りない部分として、
Mysql
・Nginx
unicorn
・Dumpしたデータの取得とか

あたりの設定が必要だ
これらは別々のサイトから見つけてくる必要がありそう
今回試そうとしている環境は一部閉域なので、yumでとってこれない場合を考えてソースコードを持ってこないと・・・


続きは次回