diff --git a/handlers/main.yml b/handlers/main.yml index 2da19c3..4efc0b3 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,11 +1,17 @@ --- -# handlers file for im - name: "Restart drone" service: name: "drone" state: "restarted" when: ansible_service_mgr == "systemd" +- name: "Install drone runner exec" + command: "drone-runner-exec service install" + when: ansible_service_mgr == "systemd" + +- name: "Start drone runner exec" + command: "drone-runner-exec service start" + when: ansible_service_mgr == "systemd" - name: "Reload systemd" systemd: diff --git a/tasks/main.yml b/tasks/main.yml index 99c7f4a..0dc7bbd 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,6 +1,6 @@ --- # tasks file for drone -- name: 'install dependencies' +- name: 'Install dependencies' package: name: - 'git' @@ -14,7 +14,7 @@ home: "{{ drone_home }}" shell: "/bin/false" -- name: 'download latest drone' +- name: 'Download latest drone' git: dest: "{{ drone_home }}/drone" repo: https://github.com/drone/drone.git @@ -36,59 +36,65 @@ - "Restart drone" when: ansible_service_mgr == "systemd" -- name: "build drone" +- 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 + when: gitclone.changed # noqa no-handler -- name: "clone runner" - git: - dest: "{{ drone_home }}/drone" - repo: https://github.com/drone-runners/drone-runner-exec.git - version: "{{ v1.0.0-beta.9 }}" +- name: "Clone runner" + get_url: + url: https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_amd64.tar.gz + dest: "{{ drone_home }}" become: true become_user : "{{ drone_user }}" register: gitclonerunner -- name: "make local runner config dir" +- name: "Unzip runner" + unarchive: + src: "{{ drone_home }}/{{ item }}" + dest: /usr/local/bin/ + with_items: + - "{{ gitclonerunner.stdout }}" + notify: + - "Install drone runner exec" + - "Start drone runner exec" + +- name: "Make local runner config dir" file: path: "/etc/drone-runner-exec/" state: directory owner: drone group: drone mode: '0700' + notify: + - "Install drone runner exec" + - "Start drone runner exec" -- name: "make local runner config dir" +- name: "Make local runner config dir" file: path: "/var/log/drone-runner-exec/" state: directory owner: drone group: drone mode: '0700' + notify: + - "Install drone runner exec" + - "Start drone runner exec" -- name: "configure local runner" +- 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 + notify: + - "Install drone runner exec" + - "Start drone runner exec" - name: "Configure drone" template: