-
Notifications
You must be signed in to change notification settings - Fork 4
/
uclalib_craftcms_deploy.yml
68 lines (57 loc) · 1.97 KB
/
uclalib_craftcms_deploy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
- name: uclalib_craftcms_deploy.yml
become: yes
become_method: sudo
hosts: "{{ deploy_host | default('t-w-craftcms01.library.ucla.edu') }}"
environment:
PATH: /opt/rh/rh-php73/root/usr/bin:/opt/rh/rh-php73/root/usr/sbin:{{ ansible_env.PATH }}
tasks:
- name: Get PHP executable path
command: >
which php
register: php_exec_path
- name: Set play variables
set_fact:
craft_dir: "{{ craft_work_dir | default('/var/www/craftcms') }}"
craft_user: "{{ craftcms_user | default('craftcms') }}"
php_exec: "{{ php_exec_path.stdout }}"
- name: Perform Full Backup of Craft (DB and FS)
become_user: "{{ craft_user }}"
command: >
/usr/local/bin/craftcms_full_backup
- name: Take CraftCMS System Offline
become_user: "{{ craft_user }}"
command: >
{{ php_exec }} craft off --interactive 0
args:
chdir: "{{ craft_dir }}"
- name: Git pull of code from branch
become_user: "{{ craft_user }}"
git:
repo: "{{ git_repo_url | default('git@github.com:UCLALibrary/craftcms.git') }}"
dest: "{{ craft_dir }}"
version: "{{ git_repo_branch | default('main') }}"
- name: Run composer install to pick-up any package dependency changes
become_user: "{{ craft_user }}"
command: >
{{ php_exec }} craft update/composer-install
args:
chdir: "{{ craft_dir }}"
- name: Run any pending migrations
become_user: "{{ craft_user }}"
command: >
{{ php_exec }} craft migrate/all
args:
chdir: "{{ craft_dir }}"
- name: Apply changes to the Craft project config
become_user: "{{ craft_user }}"
command: >
{{ php_exec }} craft project-config/apply
args:
chdir: "{{ craft_dir }}"
- name: Bring CraftCMS online
become_user: "{{ craft_user }}"
command: >
{{ php_exec }} craft on --interactive 0
args:
chdir: "{{ craft_dir }}"