deploy/deploy.yml
author ymh <ymh.work@gmail.com>
Fri, 06 Dec 2019 01:17:52 +0100
changeset 6 6c5696673f1c
parent 0 505fe5249d9c
permissions -rw-r--r--
Added tag 0.3 for changeset 170e0b52c451
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
- hosts: localhost
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
  connection: local
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
  vars:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
    build_dir: "{{playbook_dir}}/build/tmp/rc/"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
  tasks:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    - name: mkdir build folder
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
        path: "{{playbook_dir}}/build/tmp"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
        state: directory
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    - name: clear checkout dir if exists
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        path: "{{build_dir}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        state: absent
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    - name: checkout 
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
      hg:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        repo: "{{p_repo}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        version: "{{p_version}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        force: yes
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        dest: "{{build_dir}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
- hosts: remote
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
  vars:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    src_dir: "{{playbook_dir}}/build/tmp/rc/src/"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  tasks:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    - name: create the destination directory
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
        path: "{{remote_path}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        state: directory
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        owner: "{{ansible_user_id}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      become: yes
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    - name: sync the sources
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
      synchronize:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        src: "{{src_dir}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        dest: "{{remote_path}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    - name: clean previous version of composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        path: /tmp/composer/composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        state: absent
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    - name: create the destination directory
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        path: /tmp/composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
        state: directory
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    - name: download new version of composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
      get_url:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        url: https://getcomposer.org/composer.phar
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
        dest: /tmp/composer/composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
        mode: 0755
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    - name: clean composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
      file:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        path: "{{remote_path}}/vendor"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        state: absent
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
    - name: call composer
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
      composer:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        command: install
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        working_dir: "{{remote_path}}"
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
      environment:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        PATH: /tmp/composer:/usr/bin
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
    - name: create env file if needed
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
      template:
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
        src: env.j2
505fe5249d9c add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
        dest: "{{remote_path}}/.env"