--- # tasks file for drone - name: 'install dependencies' package: name: - 'git' - 'golang' state: 'present' - name: 'Create drone user' user: name: "{{ drone_user }}" comment: "drone user" home: "{{ drone_home }}" shell: "/bin/false" - name: 'download latest drone' git: dest: "{{ drone_home }}/drone" repo: https://github.com/drone/drone.git version: "{{ drone_version }}" force: true become: true become_user : "{{ drone_user }}" register: gitclone - name: "Setup systemd service" template: src: drone.service.j2 dest: /lib/systemd/system/drone.service owner: root group: root mode: 0644 notify: - "Reload systemd" - "Restart drone" when: ansible_service_mgr == "systemd" - name: "build drone" command: 'go build' become: true become_user : "{{ drone_user }}" notify: "Restart drone" args: chdir: "{{ drone_home }}/drone/cmd/drone-server" when: gitclone.changed - name: "clone runner" git: dest: "{{ drone_home }}/drone" repo: https://github.com/drone-runners/drone-runner-exec.git version: "{{ v1.0.0-beta.9}}" become: true become_user : "{{ drone_user }}" register: gitclonerunner - name: "make local runner config dir" file: path: "/etc/drone-runner-exec/" state: directory owner: drone group: drone mode: '0700' - name: "make local runner config dir" file: path: "/var/log/drone-runner-exec/" state: directory owner: drone group: drone mode: '0700' - name: "configure local runner" template: src: exec_runner_config.j2 dest: "/etc/drone-runner-exec/config" owner: drone group: drone mode: '0700' - name: "install local runner" command: 'cp drone-runner-exec/drone-runner-exec /usr/loca/bin/drone-runner-exec && drone-runner-exec service install' when: gitclonerunner.changed - name: "stop local runner" command: 'drone-runner-exec service stop' when: gitclonerunner.changed - name: "start local runner" command: 'drone-runner-exec service start' when: gitclonerunner.changed - name: "Configure drone" template: src: "rundrone.sh.j2" dest: "{{ drone_home }}/rundrone.sh" owner: "{{ drone_user }}" mode: 0700 notify: "Restart drone" - name: "Service drone" service: name: "drone" state: "started" enabled: true when: ansible_service_mgr == "systemd"