deploy/deploy.yml
author ymh <ymh.work@gmail.com>
Mon, 08 Mar 2021 16:16:27 +0100
changeset 44 75ec8b6829cc
parent 41 8097809b86e6
permissions -rw-r--r--
Swict CAF93 and fond des bois logos
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
- hosts: localhost
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
  connection: local
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
  vars:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    build_dir: "{{playbook_dir}}/build/tmp/rc/"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
  tasks:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    - name: mkdir build folder
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
        path: "{{playbook_dir}}/build/tmp"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
        state: directory
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    - name: clear checkout dir if exists
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        path: "{{build_dir}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        state: absent
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    - name: checkout 
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
      hg:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        repo: "{{rc_repo}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        version: "{{rc_version}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        force: yes
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        dest: "{{build_dir}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
- hosts: remote
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  vars:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    src_dir: "{{playbook_dir}}/build/tmp/rc/src/"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  tasks:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    - name: create the destination directory
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        path: "{{remote_path}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        state: directory
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        owner: "{{ansible_user_id}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      become: yes
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    - name: sync the sources
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
      synchronize:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        src: "{{src_dir}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        dest: "{{remote_path}}"
41
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    40
        rsync_opts: 
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    41
          - "--exclude=web/app/uploads"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    42
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    43
    - name: create the uploads directory
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    44
      file:
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    45
        path: "{{remote_path}}/web/app/uploads"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    46
        state: directory
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    47
        owner: "{{rc_uploads_owner}}"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    48
        group: "{{rc_uploads_group}}"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    49
      become: yes
12
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    - name: clean previous version of composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        path: /tmp/composer/composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
        state: absent
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    - name: create the destination directory
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        path: /tmp/composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        state: directory
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    - name: download new version of composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
      get_url:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        url: https://getcomposer.org/composer.phar
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        dest: /tmp/composer/composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        mode: 0755
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    - name: clean composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
      file:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
        path: "{{remote_path}}/vendor"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
        state: absent
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
    - name: call composer
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
      composer:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
        command: install
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
        working_dir: "{{remote_path}}"
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
      environment:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        PATH: /tmp/composer:/usr/bin
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
    - name: create env file if needed
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
      template:
d9d75b93e132 Add deploy files. Prepare first version
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        src: env.j2
41
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    82
        dest: "{{remote_path}}/.env"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    83
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    84
    - name: update database
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    85
      command:
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    86
        argv:
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    87
          - "{{remote_path}}/vendor/bin/wp"
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    88
          - core
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    89
          - update-db
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    90
      args:
8097809b86e6 Update deploy playbook, add db migration
ymh <ymh.work@gmail.com>
parents: 12
diff changeset
    91
        chdir: "{{remote_path}}"