Massive cleanup. Ready for version 4.2.0.

This commit is contained in:
Andrea Dell'Amico 2021-04-26 18:26:22 +02:00
parent 2c005525fb
commit 72973bb95b
Signed by: adellam
GPG Key ID: 147ABE6CEB9E20FF
15 changed files with 248 additions and 281 deletions

View File

@ -1,11 +1,18 @@
---
redmine_version: 4.0.1
redmine_major_version: 4
redmine_minor_version: 2
redmine_patch_version: 0
redmine_version: '{{ redmine_major_version }}.{{ redmine_minor_version }}.{{ redmine_patch_version }}'
redmine_inst_name: redmine
redmine_main_project: redmine
redmine_db_user: redm_db_user
redmine_db_name: redm_db_name
redmine_db_host: localhost
# The commented variables need to be set on the playbooks
redmine_install_from_subversion: True
redmine_subversion_tree: 'branches'
redmine_subversion_url: 'https://svn.redmine.org/redmine/{{ redmine_subversion_tree }}'
redmine_download_url: 'http://www.redmine.org/releases'
# The commented variables must be set in the playbook
#redmine_glob_root_dir: /srv/redmine
# It is a redmine_glob_root_dir subdirectory
redmine_inst_dir: redmine
@ -20,15 +27,23 @@ redmine_sysvinit_service_name: '{{ redmine_inst_name }}'
redmine_systemd_service_name: 'unicorn@{{ redmine_inst_name }}.service'
redmine_service_name: '{{ redmine_systemd_service_name }}'
redmine_web_root: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/public'
nginx_frontend: '{{ redmine_nginx_frontend }}'
nginx_use_common_virthost: '{{ redmine_nginx_use_common_virthost }}'
nginx_virthosts: '{{ redmine_nginx_virthosts }}'
redmine_log_level: warn
# Minutes, from 1 to 60
redmine_ldap_sync_freq: 10
# users, groups, all
redmine_ldap_sync_who: all
redmine_ldap_sync_cron_job: '/usr/local/bin/rake -f {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/Rakefile --silent redmine:plugins:ldap_sync:sync_{{ redmine_ldap_sync_who }} RAILS_ENV=production >{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/log/redmine-ldap-sync.log 2>&1'
redmine_glob_user: www-data
redmine_glob_group: www-data
redmine_glob_user: redmine
redmine_glob_group: redmine
redmine_glob_users_home_base: /srv/redmine-home
# Define it and point to an external directory to have it used
# redmine_storage_path: '/{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/files'
redmine_imap_sync: False
redmine_imap_server: localhost
@ -42,59 +57,88 @@ redmine_imap_sync_additional_options: ''
# Plugins
rm_ldap_auth: False
rm_ldap_synch: False
rm_better_gant_plugin: False
rm_ldap_sync: False
rm_ldap_synch: '{{ rm_ldap_sync }}'
rm_ldap_sync_url: 'https://github.com/thorin/redmine_ldap_sync.git'
rm_better_gantt_plugin: False
rm_better_gantt_url: 'https://github.com/tuanpembual/redmine_better_gantt_chart.git'
rm_login_audit_plugin: False
rm_login_audit_url: 'https://github.com/martin-denizet/redmine_login_audit.git'
rm_progressive_projects_plugin: False
rm_progressive_projects_url: 'https://github.com/stgeneral/redmine-progressive-projects-list.git'
rm_didyoumean_plugin: False
rm_didyoumean_plugin_url: 'https://github.com/abahgat/redmine_didyoumean.git'
rm_graphs_plugin: False
rm_graphs_url: 'https://github.com/bradbeattie/redmine-graphs-plugin.git'
rm_embedded_tabs_plugin: False
rm_embedded_tabs_url: 'https://github.com/jamtur01/redmine_tab.git'
rm_recurring_tasks_plugin: False
rm_recurring_tasks_url: 'https://github.com/nutso/redmine-plugin-recurring-tasks.git'
redmine_install_agile_plugin: False
rm_scrum_plugin: False
rm_advanced_roadmap_plugin: False
rm_advanced_roadmap_url: 'https://github.com/Coren/redmine_advanced_roadmap_v2.git'
rm_scrum2b_plugin: False
rm_autowatcher_plugin: False
rm_scrum2b_url: 'https://github.com/scrum2b/scrum2b.git'
rm_issuereminder_plugin: False
rm_issuereminder_url: 'https://github.com/jcppkkk/redmine_mail_reminder'
rm_issue_reminder_plugin_freq_min: 0
rm_issue_reminder_plugin_freq_hour: 5
rm_issue_reminder_plugin_freq_weekday: 1
# https://github.com/arkhitech/redmine_update_reminder
# We configure to send the email reminders once a week on monday morning by default
rm_updatereminder_plugin: False
rm_updatereminder_url: 'https://github.com/arkhitech/redmine_update_reminder'
rm_updatereminder_plugin_freq_min: 0
rm_updatereminder_plugin_freq_hour: 5
rm_updatereminder_plugin_freq_weekday: 1
rm_mention_plugin: False
#rm_mention_url: 'https://github.com/stpl/redmine_mention_plugin'
rm_mention_url: 'https://github.com/tainewoo/redmine_mentions'
rm_mentions_plugin: False
rm_defaultcustomquery_plugin: False
rm_gamification_plugin: False
rm_defaultcustomquery_url: 'https://github.com/hidakatsuya/redmine_default_custom_query'
rm_closesresolvedissue_plugin: False
rm_closesresolvedissue_url: 'https://github.com/Jogi1j/redmine_closes_resolved_issues'
rm_defaultassign_url: 'https://github.com/giddie/redmine_default_assign'
rm_defaultassign_plugin: False
rm_onceassignedeverwatcher_url: 'https://github.com/raafael911/redmine_once_assigned_ever_watcher'
rm_onceassignedeverwatcher_plugin: False
rm_clipboardimagepaste_url: 'https://github.com/peclik/clipboard_image_paste'
rm_clipboardimagepaste_plugin: False
rm_hotkeysjs_url: 'https://github.com/sasha-ch/redmine_hotkeys_js'
rm_hotkeysjs_plugin: False
rm_issuessorting_url: 'https://github.com/JohnBat26/redmine_issues_sorting'
rm_issuessorting_plugin: False
rm_mylyn_url: 'https://github.com/ljader/redmine-mylyn-plugin'
rm_mylyn_plugin: False
rm_quickedit_url: 'git://git.sourceforge.jp/gitroot/quickedit/quick_edit.git'
rm_quickedit_plugin: False
rm_quickview_url: 'git://git.sourceforge.jp/gitroot/quickedit/quick_view.git'
rm_quickview_plugin: False
rm_codereview_plugin: False
rm_globalroles_plugin: False
rm_unreadissues_plugin: False
rm_usability_plugin: False
rm_mylynconnector_url: 'git://github.com/danmunn/redmine_mylyn_connector.git'
rm_mylynconnector_plugin: False
rm_addsubversionlinks_plugin: False
rm_addsubversionlinks_url: 'https://github.com/masamitsu-murase/redmine_add_subversion_links.git'
rm_wiki_external_url: 'https://github.com/nutso/redmine-plugin-wiki-external.git'
rm_wiki_external_plugin: False
rm_pastebin_url: 'https://github.com/commandprompt/redmine_pastebin.git'
rm_pastebin_plugin: False
rm_issue_templates_url: 'https://github.com/akiko-pusu/redmine_issue_templates'
rm_issue_templates_plugin: False
# TODO lists plugin: https://redmine.org/plugins/redmine_issue_todo_lists
rm_issue_todo_lists_url: 'https://github.com/canidas/redmine_issue_todo_lists'
rm_issue_todo_lists_plugin: False
#
# IMPORTANT: these are mutually exclusive. One of the two needs to be set to True
ruby_use_mod_passenger: False
ruby_use_unicorn: True
# Redmine 2.x only
rm_involvement_url: 'https://github.com/commandprompt/redmine_involvement_filter.git'
rm_involvement_plugin: False
rm_omniauth_url: 'https://github.com/arlin2050/redmine_omniauth_client.git'
rm_omniauth_plugin: False
# Used by unicorn
@ -107,4 +151,3 @@ unicorn_pid_dir: '{{ unicorn_log_dir }}'
unicorn_pid_file: '{{ unicorn_pid_dir }}/unicorn.pid'
redmine_additional_gems: []

Binary file not shown.

Binary file not shown.

View File

@ -21,15 +21,9 @@ galaxy_info:
- redmine
dependencies:
- src: git+https://gitea-s2i2s.isti.cnr.it/ISTI-ansible-roles/ansible-role-apache.git
version: master
name: apache
state: latest
when: ruby_use_mod_passenger
- src: git+https://gitea-s2i2s.isti.cnr.it/ISTI-ansible-roles/ansible-role-nginx.git
version: master
name: nginx
state: latest
when: ruby_use_unicorn

View File

@ -1,11 +0,0 @@
---
- name: Load the required apache modules
apache2_module: name={{ item }} state=present
with_items: '{{ redmine_base_apache_modules }}'
notify: apache2 reload
tags: [ 'apache', 'redmine' ]
- name: Ensure that the apache ssl directory exists
file: dest=/etc/apache2/ssl state=directory owner=root group=root mode=0750
tags: [ 'apache', 'redmine' ]

View File

@ -5,18 +5,7 @@
when: ansible_distribution_file_variety == "Debian"
- import_tasks: redmine.yml
when: ansible_distribution_file_variety == "Debian"
- import_tasks: redmine-plugins.yml
when: ansible_distribution_file_variety == "Debian"
- import_tasks: base-config.yml
when:
- ruby_use_mod_passenger
- ansible_distribution_file_variety == "Debian"
- import_tasks: mod_passenger.yml
when:
- ruby_use_mod_passenger
- ansible_distribution_file_variety == "Debian"
#- import_tasks: redmine-plugins.yml
# when: ansible_distribution_file_variety == "Debian"
- import_tasks: unicorn.yml
when:
- ruby_use_unicorn
- ansible_distribution_file_variety == "Debian"
when: ansible_distribution_file_variety == "Debian"

View File

@ -1,24 +0,0 @@
---
- name: Install the phusion passenger repo key
apt_key: id=561F9B9CAC40B2F7 keyserver=keyserver.ubuntu.com state=present
register: update_apt_cache
when: ruby_use_mod_passenger
tags: [ 'ruby', 'redmine', 'passenger' ]
- name: Install the phusion passenger repo
apt_repository: repo='deb https://oss-binaries.phusionpassenger.com/apt/passenger {{ ansible_distribution_release }} main' state=present update_cache=yes
when: ruby_use_mod_passenger
tags: [ 'ruby', 'redmine', 'passenger' ]
- name: Install the apache mod_passenger package
apt: pkg=libapache2-mod-passenger state=present
when: ruby_use_mod_passenger
notify: apache2 reload
tags: [ 'ruby', 'redmine', 'passenger' ]
- name: Install the mod-passenger configuration
apache2_module: name=passenger state=present
when: ruby_use_mod_passenger
notify: apache2 reload
tags: [ 'ruby', 'redmine', 'passenger' ]

View File

@ -6,40 +6,43 @@
file: dest={{ redmine_glob_root_dir }}/plugins_download state=directory
tags: [ 'redmine', 'redmine_plugins' ]
- name: Redmine better gantt plugin
get_url: url=https://github.com/kulesa/redmine_better_gantt_chart/releases/download/v.0.9.0/redmine_better_gantt_chart_0.9.0.zip dest={{ redmine_glob_root_dir }}/plugins_download/redmine_better_gantt_chart_0.9.0.zip
when: rm_better_gant_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Install the better gantt plugin
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/redmine_better_gantt_chart_0.9.0.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_better_gantt_chart/init.rb
git:
repo: '{{ rm_better_gantt_url }}'
dest: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/better_gantt_chart'
update: no
notify:
- apache2 reload when needed
- Reload unicorn when needed
when: rm_better_gant_plugin
when: rm_better_gantt_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Install the ldap sync plugin
git: repo=https://github.com/thorin/redmine_ldap_sync.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_ldap_sync update=no
git: repo={{ rm_ldap_sync_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_ldap_sync update=no
notify:
- Bundle install and reconfigure redmine
when: rm_ldap_synch
when: rm_ldap_sync
tags: [ 'redmine', 'redmine_plugins', 'rm_ldap_synch' ]
- name: Cron job that manages the ldap synch
template: src=redmine-ldap-sync.cron.j2 dest=/etc/cron.d/redmine-ldap-sync owner=root group=root mode=0444
when: rm_ldap_synch
- name: Cron job that manages the ldap sync
cron:
name: Sync the ldap users and groups
job: '{{ redmine_ldap_sync_cron_job }}'
user: '{{ redmine_user }}'
minute: '{{ redmine_ldap_sync_freq }}'
cron_file: redmine-ldap-sync
state: present
when: rm_ldap_sync
tags: [ 'redmine', 'redmine_plugins', 'rm_ldap_synch' ]
- name: Redmine login audit plugin
git: repo=https://github.com/martin-denizet/redmine_login_audit.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_login_audit update=no
git: repo={{ rm_login_audit_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_login_audit update=no
notify:
- Reconfigure redmine
when: rm_login_audit_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Redmine subversion links plugin
git: repo=https://github.com/masamitsu-murase/redmine_add_subversion_links.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_add_subversion_links update=no
git: repo={{ rm_addsubversionlinks_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_add_subversion_links update=no
when: rm_addsubversionlinks_plugin
notify:
- apache2 reload when needed
@ -47,28 +50,28 @@
tags: [ 'redmine', 'redmine_plugins' ]
- name: Progressive projects list plugin
git: repo=https://github.com/stgeneral/redmine-progressive-projects-list.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/progressive_projects_list update=no
git: repo={{ rm_progressive_projects_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/progressive_projects_list update=no
notify:
- Reconfigure redmine
when: rm_progressive_projects_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: didyoumean plugin
git: repo=https://github.com/abahgat/redmine_didyoumean.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_didyoumean update=no
git: repo={{ rm_didyoumean_plugin_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_didyoumean update=no
notify:
- Reconfigure redmine
when: rm_didyoumean_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Install the graphs plugin
git: repo=https://github.com/bradbeattie/redmine-graphs-plugin.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_graphs update=no
git: repo={{ rm_graphs_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_graphs update=no
notify:
- Reconfigure redmine
when: rm_graphs_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Install the embedded tab plugin
git: repo=https://github.com/jamtur01/redmine_tab.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_tab update=no
git: repo={{ rm_embedded_tabs_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_tab update=no
notify:
- apache2 reload when needed
- Reload unicorn when needed
@ -76,7 +79,7 @@
tags: [ 'redmine', 'redmine_plugins', 'rm_embedded_tabs' ]
- name: Install the recurring-tasks plugin
git: repo=https://github.com/nutso/redmine-plugin-recurring-tasks.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/recurring_tasks update=no
git: repo={{ rm_recurring_tasks_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/recurring_tasks update=no
notify:
- Bundle install and reconfigure redmine
when: rm_recurring_tasks_plugin
@ -87,54 +90,22 @@
when: rm_recurring_tasks_plugin
tags: [ 'redmine', 'redmine_plugins', 'rm_recurring_tasks' ]
- name: Redmine agile plugin. Free version from www.redminecrm.com
unarchive: src=redmine_agile.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_agile/init.rb
when: redmine_install_agile_plugin
notify:
- Reconfigure agile plugin
- Bundle install
tags: [ 'redmine', 'redmine_plugins' ]
- name: Get the scrum plugin
get_url: url=https://redmine.ociotec.com/attachments/download/302/scrum%20v0.9.1.tar.gz dest={{ redmine_glob_root_dir }}/plugins_download/scrum_v0.9.1.tar.gz validate_certs=no
when: rm_scrum_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Unarchive the scrum plugin
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/scrum_v0.9.1.tar.gz dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum/init.rb
when: rm_scrum_plugin
tags: [ 'redmine', 'redmine_plugins' ]
- name: Rename the scrum plugin
shell: mv "{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum v0.9.1" {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum/init.rb
when: rm_scrum_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins' ]
- name: Install the redmine advanced roadmap plugin
git: repo=https://github.com/Coren/redmine_advanced_roadmap_v2.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/advanced_roadmap_v2 update=no
git: repo={{ rm_advanced_roadmap_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/advanced_roadmap_v2 update=no
when: rm_advanced_roadmap_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_ar' ]
- name: Install the redmine scrum2b plugin
git: repo=https://github.com/scrum2b/scrum2b version=2-1-stable dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum2b update=no
git: repo={{ rm_scrum2b_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/scrum2b update=no
when: rm_scrum2b_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_scrum2b' ]
- name: Install the auto watcher for groups plugin
git: repo=https://github.com/akuznecov/redmine_auto_watchers_from_groups dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_auto_watchers_from_groups update=no
when: rm_autowatcher_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_autowatcher' ]
- name: Install the issue reminder plugin
git: repo=https://github.com/Hopebaytech/redmine_issue_reminder version=redmine2.6 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issue_reminder update=no
git: repo={{ rm_issuereminder_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mail_reminder update=no
when: rm_issuereminder_plugin
notify:
- Bundle install and reconfigure redmine
@ -146,7 +117,7 @@
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_issuereminder' ]
- name: Install the update reminder plugin
git: repo=https://github.com/arkhitech/redmine_update_reminder dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_update_reminder update=no
git: repo={{ rm_updatereminder_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_update_reminder update=no
when: rm_updatereminder_plugin
notify:
- Bundle install and reconfigure redmine
@ -158,175 +129,141 @@
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_updatereminder' ]
- name: Install the mention plugin
git: repo=https://github.com/stpl/redmine_mention_plugin dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mention_plugin update=no
git: repo={{ rm_mention_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mention_plugin update=no
when: rm_mention_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_mention' ]
- name: Install the default custom query plugin
git: repo=https://github.com/hidakatsuya/redmine_default_custom_query dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_default_custom_query update=no
git: repo={{ rm_defaultcustomquery_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_default_custom_query update=no
when: rm_defaultcustomquery_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_defaultcustomquery' ]
- name: Install the gamification plugin
git: repo=https://github.com/mauricio-camayo/redmine_gamification_plugin dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_gamification_plugin update=no
when: rm_gamification_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_gamification' ]
- name: Install the closes resolved issues plugin
git: repo=https://github.com/Jogi1j/redmine_closes_resolved_issues dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_closes_resolved_issues update=no
git: repo={{ rm_closesresolvedissue_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_closes_resolved_issues update=no
when: rm_closesresolvedissue_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_closesresolvedissue' ]
- name: Install the default assign plugin
git: repo=https://github.com/giddie/redmine_default_assign dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_default_assign update=no
git: repo={{ rm_defaultassign_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_default_assign update=no
when: rm_defaultassign_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_defaultassign' ]
- name: Install the once assigned ever watcher plugin
git: repo=https://github.com/raafael911/redmine_once_assigned_ever_watcher dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_once_assigned_ever_watcher update=no
git: repo={{ rm_onceassignedeverwatcher_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/once_assigned_ever_watcher update=no
when: rm_onceassignedeverwatcher_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_onceassignedeverwatcher' ]
- name: Install the clipboard image paste plugin
git: repo=https://github.com/peclik/clipboard_image_paste dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/clipboard_image_paste update=no
git: repo={{ rm_clipboardimagepaste_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/clipboard_image_paste update=no
when: rm_clipboardimagepaste_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_clipboardimagepaste' ]
- name: Install the hotkeys js plugin
git: repo=https://github.com/sasha-ch/redmine_hotkeys_js version=v0.0.3 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/clipboard_hotkeys_js update=no
git: repo={{ rm_hotkeysjs_url }} version=v0.0.3 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_hotkeys_js update=no
when: rm_hotkeysjs_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_hotkeysjs' ]
- name: Install the issues sorting plugin
git: repo=https://github.com/JohnBat26/redmine_issues_sorting dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issues_sorting update=no
git: repo={{ rm_issuessorting_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issues_sorting update=no
when: rm_issuessorting_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_issuessorting' ]
- name: Install the mylyn plugin
git: repo=https://github.com/ljader/redmine-mylyn-plugin dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mylyn_plugin update=no
git: repo={{ rm_mylyn_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mylyn_plugin update=no
when: rm_mylyn_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_mylyn' ]
- name: Install the quick edit plugin
git: repo=git://git.sourceforge.jp/gitroot/quickedit/quick_edit.git accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/quick_edit update=no
git: repo={{ rm_quickedit_url }} accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/quick_edit update=no
when: rm_quickedit_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_quickedit' ]
- name: Install the quick view plugin
git: repo=git://git.sourceforge.jp/gitroot/quickedit/quick_view.git accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/quick_view update=no
git: repo={{ rm_quickview_url }} accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/quick_view update=no
when: rm_quickview_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_quickview' ]
- name: Get the code review plugin
get_url: url=https://bitbucket.org/haru_iida/redmine_code_review/downloads/redmine_code_review-0.6.5.zip dest={{ redmine_glob_root_dir }}/plugins_download/redmine_code_review-0.6.5.zip validate_certs=no
when: rm_codereview_plugin
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_codereview' ]
- name: Unarchive the code review plugin
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/redmine_code_review-0.6.5.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_code_review/init.rb
when: rm_codereview_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_codereview' ]
- name: Unarchive the global roles plugin
# manual download required http://rmplus.pro/en/redmine/plugins/global_roles
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/global_roles.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/global_roles/init.rb
when: rm_globalroles_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_globalroles' ]
- name: Unarchive the unread issues plugin
# manual download required http://rmplus.pro/en/redmine/plugins/unread_issues
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/unread_issues.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/unread_issues/init.rb
when: rm_unreadissues_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_unreadissues' ]
- name: Unarchive the usability plugin
# manual download required http://rmplus.pro/en/redmine/plugins/usability
unarchive: src={{ redmine_glob_root_dir }}/plugins_download/usability.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/usability/init.rb
when: rm_usability_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_usability' ]
- name: Install the mylyn connector plugin
git: repo=git://github.com/danmunn/redmine_mylyn_connector.git accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mylyn_connector update=no
git: repo={{ rm_mylynconnector_url }} accept_hostkey=yes dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mylyn_connector update=no
when: rm_mylynconnector_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_mylynconnector' ]
- name: Install the mentions plugin
git: repo=https://github.com/arkhitech/redmine_mentions dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mentions update=no
git: repo={{ rm_mention_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_mentions update=no
when: rm_mentions_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_mentions' ]
- name: Install the external wiki plugin
git: repo=https://github.com/nutso/redmine-plugin-wiki-external.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/wiki_external update=no
git: repo={{ rm_wiki_external_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/wiki_external update=no
when: rm_wiki_external_plugin
notify: Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_wiki_external' ]
- name: Install the paste plugin
git: repo=https://github.com/commandprompt/redmine_pastebin.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_pastebin update=no
git: repo={{ rm_pastebin_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_pastebin update=no
when: rm_pastebin_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_pastebin' ]
- name: Install the issue_templates plugin
git: repo=https://github.com/akiko-pusu/redmine_issue_templates dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issue_templates update=no
git: repo={{ rm_issue_templates_url }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issue_templates update=no
when: rm_issue_templates_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_issue_templates' ]
- name: Install the issue_todo_lists plugin
git: repo=https://github.com/canidas/redmine_issue_todo_lists dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issue_todo_lists update=no
git:
repo: '{{ rm_involvement_url }}'
dest: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_issue_todo_lists'
update: no
when: rm_issue_todo_lists_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_issue_todo_lists' ]
- name: Install the involvement filter plugin
git: repo=https://github.com/commandprompt/redmine_involvement_filter.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_involvement_filter update=no
git:
repo: '{{ rm_involvement_url }}'
dest: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_involvement_filter'
update: no
when: rm_involvement_plugin
notify:
- Bundle install and reconfigure redmine
tags: [ 'redmine', 'redmine_plugins', 'redmine_plugins_involvement_filter' ]
- name: Install the omniauth Oauth plugin
git: repo=https://github.com/arlin2050/redmine_omniauth_client.git dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_omniauth_client update=no
git:
repo: '{{ rm_omniauth_url }}'
dest: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/plugins/redmine_omniauth_client'
update: no
notify:
- Bundle install and reconfigure redmine
when: rm_omniauth_plugin

View File

@ -16,32 +16,68 @@
- name: Ensure that the redmine user can write its $HOME/.subversion to store the svn site ssl certificate
file: dest={{ redmine_user_home }}/.subversion state=directory owner={{ redmine_user }} group={{ redmine_group }}
- name: Get the redmine tarball
get_url: url=http://www.redmine.org/releases/redmine-{{ redmine_version }}.tar.gz dest={{ redmine_glob_root_dir }}/redmine-{{ redmine_version }}.tar.gz
- name: Get the redmine {{ redmine_version }} tarball
get_url: url={{ redmine_download_url }}/redmine-{{ redmine_version }}.tar.gz dest={{ redmine_glob_root_dir }}/redmine-{{ redmine_version }}.tar.gz
when: not redmine_install_from_subversion
- name: Explode the redmine archive
- name: Unarchive the redmine {{ redmine_version }} archive
unarchive: src={{ redmine_glob_root_dir }}/redmine-{{ redmine_version }}.tar.gz dest={{ redmine_glob_root_dir }} copy=no owner=root group=root creates={{ redmine_glob_root_dir }}/redmine-{{ redmine_version }}/Rakefile
register: redmine_install
when: not redmine_install_from_subversion
- name: Create the right path for the application.
- name: Create the right path for the application when installing using the tar file
file: src={{ redmine_glob_root_dir }}/redmine-{{ redmine_version }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }} state=link
when: not redmine_install_from_subversion
- name: Install the subversion packages
become_user: root
apt:
pkg: subversion
state: present
cache_valid_time: 1800
when: redmine_install_from_subversion
- name: Download redmine {{ redmine_version }} from subversion
subversion:
repo: '{{ redmine_subversion_url }}/{{ redmine_major_version }}.{{ redmine_minor_version }}-stable'
dest: '{{ redmine_glob_root_dir }}/redmine-{{ redmine_major_version }}.{{ redmine_minor_version }}'
checkout: yes
force: yes
update: yes
when: redmine_install_from_subversion
- name: Create the right path for the application when installing from subversion
file: src={{ redmine_glob_root_dir }}/redmine-{{ redmine_major_version }}.{{ redmine_minor_version }} dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }} state=link
when: redmine_install_from_subversion
- name: Create the directory for logs and static files
file:
dest: '{{ redmine_storage_path }}'
state: directory
owner: '{{ redmine_user }}'
group: '{{ redmine_group }}'
recurse: yes
when: redmine_storage_path is defined
- name: Link the logs directory under /var/log
file:
src: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/log'
dest: /var/log/redmine
state: link
- name: Install the database configuration
template: src=redmine-database.yml.j2 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/database.yml owner=root group={{ redmine_group }} mode=0440
notify:
- apache2 reload when needed
- Reload unicorn when needed
- name: Install the configuration file. Needed to send email
template: src=redmine-configuration.yml.j2 dest=/{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/configuration.yml owner=root group={{ redmine_group }} mode=0440
notify:
- apache2 reload when needed
- Reload unicorn when needed
- name: Install the additional environment file
template: src=redmine_additional_environment.rb.j2 dest=/{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/additional_environment.rb owner=root group={{ redmine_group }} mode=0440
notify:
- apache2 reload when needed
- Reload unicorn when needed
- name: Install the gems required by redmine
@ -53,6 +89,15 @@
shell: cd {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}; rake generate_secret_token ; chmod 440 {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/initializers/secret_token.rb ; chgrp {{ redmine_group }} {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/initializers/secret_token.rb
args:
creates: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/initializers/secret_token.rb'
when: redmine_secret_token is not defined
- name: Install the master key
copy:
content: '{{ redmine_master_key }}'
dest: '{{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/master.key'
owner: root
group: '{{ redmine_group }}'
mode: '0440'
- name: Initialize the DB
shell: cd {{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}; RAILS_ENV=production rake db:migrate && touch {{ redmine_glob_root_dir }}/.{{ redmine_inst_dir }}.db_initialized
@ -67,19 +112,7 @@
tags: [ 'redmine', 'redmine_db_init' ]
- name: Install the packages needed by plugins or to build plugins required gems
apt: pkg={{ item }} state=present
with_items:
- libxslt1-dev
# The themes come from http://www.redminecrm.com/
- name: Install some optional themes
unarchive: src={{ item }}-theme.zip dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/public/themes creates={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/public/themes/{{ item }}
with_items:
- a1
- circle
notify:
- apache2 reload when needed
- Reload unicorn when needed
apt: pkg=libxslt1-dev state=present cache_valid_time=1800
- name: Add unicorn to the redmine Gemfile
copy: dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/Gemfile.local content='gem "unicorn"\n' owner={{ redmine_user }} group={{ redmine_group }}

View File

@ -7,7 +7,7 @@
- name: Install the gem packages needed by some external utilities
gem: name={{ redmine_additional_gems }} state=latest
when: redmine_additional_gems is defined
when: redmine_additional_gems != []
tags:
- ruby
- redmine

View File

@ -1,36 +1,14 @@
---
- block:
- name: Install the unicorn ruby-on-rails service and its dependencies
gem: name={{ item }} state=latest
with_items: '{{ unicorn_gems }}'
- name: Create the unicorn pid directory
file: dest=/var/run/unicorn state=directory owner={{ redmine_user }} group={{ redmine_user }} mode=0750
- name: Install the unicorn startup file for redmine
copy: src=redmine.init dest=/etc/init.d/redmine owner=root group=root mode=0755
- name: Ensure that the unicorn service is enabled and running on trusty
service: name={{ redmine_sysvinit_service_name }} state=started enabled=yes
when: ruby_use_unicorn
tags: [ 'ruby', 'redmine', 'unicorn' ]
when:
- ruby_use_unicorn
- ansible_distribution_version is version_compare('14.04', '==')
- block:
- block:
- name: Install the unicorn package
apt: pkg=unicorn state=present cache_valid_time=1800
- name: Install a nginx configuration of the unicorn backend
template: src=nginx_unicorn.conf dest=/etc/nginx/conf.d/nginx_unicorn.conf
template: src=nginx_unicorn.conf.j2 dest=/etc/nginx/conf.d/nginx_unicorn.conf
notify: Restart nginx
tags: [ 'ruby', 'redmine', 'unicorn' ]
when:
- ruby_use_unicorn
- ansible_distribution_version is version_compare('18.04', '==')
when: ansible_distribution_version is version_compare('18.04', '==')
- block:
- name: Create the unicorn log directory
@ -47,11 +25,16 @@
template: src=unicorn.conf.rb.j2 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/unicorn.conf.rb owner=root group=root mode=0644
- name: Install the systemd unit that globally manages the unicorn service
template: src=systemd_unicorn.service dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/unicorn@.service
template: src=systemd_unicorn.service.j2 dest={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/unicorn@.service
notify: Reload systemd after the system unit installation
- name: Link the systemd unit that globally manages the unicorn service
file: src={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/unicorn@.service dest=/etc/systemd/system/multi-user.target.wants/unicorn@.service state=link
notify: Reload systemd after the system unit installation
- name: Add the systemd instance for the specific service
file: src={{ redmine_glob_root_dir }}/{{ redmine_inst_dir }}/config/unicorn@.service dest=/etc/systemd/system/multi-user.target.wants/unicorn@{{ redmine_inst_name }}.service state=link
notify: Reload systemd after the system unit installation
- name: Reload systemd after the system unit installation
meta: flush_handlers

View File

@ -11,7 +11,11 @@
production:
email_delivery:
delivery_method: :async_sendmail
delivery_method: :sendmail
{% if redmine_storage_path is defined %}
attachments_storage_path: {{ redmine_storage_path }}
{% endif %}
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
# If you don't want to enable data encryption, just leave it blank.

View File

@ -1,50 +1,69 @@
---
unicorn_gems:
- unicorn
- coderay
unicorn_apache_modules:
- proxy_balancer
- proxy
- proxy_http
- lbmethod_byrequests
- lbmethod_bytraffic
- lbmethod_bybusyness
- lbmethod_heartbeat
# For Ubuntu trusty
redmine_base_packages:
- subversion
- git-core
- curl
- 'ruby{{ trusty_ruby_version }}'
- rails
- ruby-rmagick
- 'ruby{{ trusty_ruby_version }}-dev'
- rails
- zlib1g-dev
- libpq-dev
- libmysqld-dev
- libmagickwand-dev
- libmagickcore-dev
- imagemagick
redmine_bionic_packages:
- subversion
- git-core
- curl
- ruby
- rails
- ruby-rmagick
- ruby-dev
- rails
- zlib1g-dev
- libpq-dev
- libmysqld-dev
- libmagickwand-dev
- libmagickcore-dev
- imagemagick
redmine_base_apache_modules:
- ssl
- rewrite
- expires
unicorn_gems:
- unicorn
- coderay
unicorn_apache_modules:
- proxy_balancer
- proxy
- proxy_http
- lbmethod_byrequests
- lbmethod_bytraffic
- lbmethod_bybusyness
- lbmethod_heartbeat
# For Ubuntu trusty
redmine_base_packages:
- subversion
- git-core
- curl
- 'ruby{{ trusty_ruby_version }}'
- rails
- ruby-rmagick
- 'ruby{{ trusty_ruby_version }}-dev'
- rails
- zlib1g-dev
- libpq-dev
- libmysqld-dev
- libmagickwand-dev
- libmagickcore-dev
- imagemagick
redmine_bionic_packages:
- subversion
- git-core
- curl
- ruby
- rails
- ruby-rmagick
- ruby-dev
- rails
- zlib1g-dev
- libpq-dev
- libmysqld-dev
- libmagickwand-dev
- libmagickcore-dev
- imagemagick
redmine_base_apache_modules:
- ssl
- rewrite
- expires
redmine_nginx_frontend: True
redmine_nginx_use_common_virthost: True
redmine_nginx_virthosts:
- virthost_name: '{{ ansible_fqdn }}'
listen: '{{ http_port }}'
server_name: '{{ ansible_fqdn }}'
ssl_enabled: True
ssl_only: True
ssl_letsencrypt_certs: '{{ nginx_letsencrypt_managed }}'
root: '{{ redmine_web_root }}'
error_path: '{{ redmine_web_root }}'
additional_options:
- try_files $uri/index.html $uri.html $uri @app
server_tokens: 'off'
proxy_standard_setup: True
locations:
- location: '@app'
target: http://unicorn