diff --git a/README.md b/README.md index 2d1b4d5..d0cbab8 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Role Variables - drone_gitea_client_secret: client secret for gitea oauth application - drone_posgress_data_dir: "/run/postgresql/" - drone_user_filter: "" +- drone_version: "v1.10.1" Dependencies ------------ diff --git a/defaults/main.yml b/defaults/main.yml index e130a32..e14ec8f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -13,4 +13,5 @@ drone_rpc_host: "localhost" drone_server_host: "localhost" drone_logs_debug: "true" drone_user_filter: "" +drone_version: "v1.10.1" diff --git a/tasks/main.yml b/tasks/main.yml index 5c2136f..3bdcba4 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -16,10 +16,12 @@ - name: 'download latest drone' git: - dest: "{{drone_home}}/drone" + dest: "{{ drone_home }}/drone" repo: https://github.com/drone/drone.git + version: "{{ drone_version }}" become: true - become_user : "{{drone_user}}" + become_user : "{{ drone_user }}" + register: gitclone - name: "Setup systemd service" template: @@ -36,47 +38,61 @@ - name: "build drone" command: 'go build' become: true - become_user : "{{drone_user}}" + become_user : "{{ drone_user }}" notify: "Restart drone" args: - chdir: "{{drone_home}}/drone/cmd/drone-server" + chdir: "{{ drone_home }}/drone/cmd/drone-server" + when: gitclone.changed -- name: "install local runner installer" - unarchive: - src: https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_amd64.tar.gz - dest: /usr/local/bin/ - remote_src: yes + 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: 'drone-runner-exec service install' - ignore_errors: true + 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' - ignore_errors: true + 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" + dest: "{{ drone_home }}/rundrone.sh" owner: "{{ drone_user }}" mode: 0700 notify: "Restart drone"