ansible-roles/redmine/tasks/release.yml

131 lines
3.2 KiB
YAML

---
- name: Get id of user
ansible.builtin.command:
cmd: "id -u {{ redmine_user }}"
register: redmine_command_user_id
changed_when: False
check_mode: False
tags:
- redmine
- name: Define user environment
ansible.builtin.set_fact:
user_env:
XDG_RUNTIME_DIR: "/run/user/{{ redmine_command_user_id.stdout }}"
RAILS_ENV: production
tags:
- redmine
- name: Stop puma service
ansible.builtin.systemd:
name: puma
daemon_reload: yes
state: stopped
user: yes
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
tags:
- redmine
- name: Create mysqldump directory
ansible.builtin.file:
path: "/home/{{ redmine_user }}/mysqldump"
state: directory
owner: "{{ redmine_user }}"
group: "{{ redmine_user }}"
mode: "0750"
tags:
- redmine
- name: Dump mysql database
community.mysql.mysql_db:
state: dump
config_file: "/home/{{ redmine_user }}/.my.cnf"
name: "{{ redmine_db_name }}"
target: "/home/{{ redmine_user }}/mysqldump/{{ ansible_date_time.iso8601_basic_short }}.sql.gz"
tags:
- redmine
- name: Change www link
ansible.builtin.file:
state: link
src: "/home/{{ redmine_user }}/releases/{{ redmine_version }}"
dest: "/home/{{ redmine_user }}/www"
owner: "{{ redmine_user }}"
group: "{{ redmine_user }}"
tags:
- redmine
- name: Update Gemfile.lock
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle lock"
args:
chdir: "/home/{{ redmine_user }}/www"
become_user: "{{ redmine_user }}"
become: true
tags:
- redmine
- name: Update local gems with bundle
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle install --deployment"
args:
chdir: "/home/{{ redmine_user }}/www"
become_user: "{{ redmine_user }}"
become: true
tags:
- redmine
- name: Generate secret token
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle exec rake -q generate_secret_token"
args:
chdir: "/home/{{ redmine_user }}/www"
creates: "/home/{{ redmine_user }}/www/config/initializers/secret_token.rb"
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
tags:
- redmine
- name: Migrate database with rake
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle exec rake -q db:migrate"
args:
chdir: "/home/{{ redmine_user }}/www/"
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
tags:
- redmine
- name: Populate Mysql database
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle exec rake -q redmine:load_default_data REDMINE_LANG=fr"
args:
chdir: "/home/{{ redmine_user }}/www/"
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
when: redmine_mysql_create is changed
tags:
- redmine
- name: Migrate plugins
ansible.builtin.command:
cmd: "~/.rbenv/bin/rbenv exec bundle exec rake -q redmine:plugins:migrate"
args:
chdir: "/home/{{ redmine_user }}/www/"
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
tags:
- redmine
- name: Start puma service
ansible.builtin.systemd:
name: puma
daemon_reload: yes
state: started
user: yes
become_user: "{{ redmine_user }}"
environment: "{{ user_env }}"
tags:
- redmine