2022-09-03 17:41:23 +00:00
|
|
|
---
|
|
|
|
- name: Upgrade FoundKey
|
2022-09-05 14:58:18 +00:00
|
|
|
hosts:
|
|
|
|
- allison
|
2022-09-03 17:41:23 +00:00
|
|
|
vars:
|
|
|
|
user: misskey
|
|
|
|
service: misskey
|
2022-09-05 14:58:18 +00:00
|
|
|
source_repository: https://akkoma.dev/Michcio/FoundKey-0x7f
|
2022-09-03 17:41:23 +00:00
|
|
|
deploys_root: /var/lib/misskey/deploys
|
|
|
|
config_yml: /var/lib/misskey/default.yml
|
|
|
|
tasks:
|
2022-09-03 22:14:51 +00:00
|
|
|
- name: Checking which environment is currently prod
|
|
|
|
ansible.builtin.stat:
|
|
|
|
path: "{{ deploys_root }}/current"
|
|
|
|
get_attributes: false
|
|
|
|
get_checksum: false
|
|
|
|
get_mime: false
|
|
|
|
follow: false
|
|
|
|
register: previous_current
|
|
|
|
become: true
|
|
|
|
become_user: "{{ user }}"
|
|
|
|
- name: Picking staging environment that is not currently prod
|
2022-09-03 17:41:23 +00:00
|
|
|
ansible.builtin.set_fact:
|
2022-09-03 22:14:51 +00:00
|
|
|
deploy_dir: "{{ deploys_root }}/{{ previous_current.stat.lnk_source.endswith('sunrise') | ternary('sunset', 'sunrise') }}"
|
2022-09-03 17:41:23 +00:00
|
|
|
run_once: true
|
2022-09-03 22:14:51 +00:00
|
|
|
- name: Print the chosen deployment directory
|
2022-09-03 17:41:23 +00:00
|
|
|
ansible.builtin.debug:
|
|
|
|
var: deploy_dir
|
|
|
|
run_once: true
|
|
|
|
- name: Build
|
|
|
|
become: true
|
|
|
|
become_user: "{{ user }}"
|
|
|
|
environment:
|
|
|
|
NODE_ENV: production
|
|
|
|
block:
|
|
|
|
- name: Create deployment directory
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ deploy_dir }}"
|
|
|
|
state: directory
|
|
|
|
- name: Clone source repository
|
|
|
|
ansible.builtin.git:
|
|
|
|
repo: "{{ source_repository }}"
|
|
|
|
dest: "{{ deploy_dir }}"
|
|
|
|
single_branch: true
|
|
|
|
- name: Link configuration in
|
|
|
|
ansible.builtin.file:
|
|
|
|
dest: "{{ deploy_dir }}/.config/default.yml"
|
|
|
|
src: "{{ config_yml }}"
|
|
|
|
state: link
|
|
|
|
- name: Install Yarn dependencies
|
|
|
|
ansible.builtin.command: yarn install
|
|
|
|
changed_when: true
|
|
|
|
args:
|
|
|
|
chdir: "{{ deploy_dir }}"
|
|
|
|
- name: Build FoundKey
|
|
|
|
ansible.builtin.command: yarn build
|
|
|
|
changed_when: true
|
|
|
|
args:
|
|
|
|
chdir: "{{ deploy_dir }}"
|
|
|
|
- name: Deploy
|
|
|
|
block:
|
|
|
|
- name: Link previous deploy
|
|
|
|
become: true
|
|
|
|
become_user: "{{ user }}"
|
|
|
|
ansible.builtin.file:
|
|
|
|
dest: "{{ deploys_root }}/previous"
|
2022-09-03 22:14:51 +00:00
|
|
|
src: "{{ previous_current.stat.lnk_source }}"
|
2022-09-03 17:41:23 +00:00
|
|
|
state: link
|
|
|
|
force: true
|
|
|
|
- name: Link new deploy
|
|
|
|
become: true
|
|
|
|
become_user: "{{ user }}"
|
|
|
|
ansible.builtin.file:
|
|
|
|
dest: "{{ deploys_root }}/current"
|
|
|
|
src: "{{ deploy_dir }}"
|
|
|
|
state: link
|
|
|
|
force: true
|
|
|
|
- name: Restart systemd service
|
|
|
|
become: true
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
name: "{{ service }}"
|
|
|
|
state: restarted
|