ansible-role-drone/tasks/main.yml

108 lines
2.4 KiB
YAML
Raw Normal View History

2020-10-25 00:31:36 +00:00
---
# 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:
2021-02-19 11:10:40 +00:00
dest: "{{ drone_home }}/drone"
2020-10-25 00:31:36 +00:00
repo: https://github.com/drone/drone.git
2021-02-19 11:07:25 +00:00
version: "{{ drone_version }}"
2021-02-24 22:18:29 +00:00
force: true
2020-10-25 00:31:36 +00:00
become: true
2021-02-19 11:10:40 +00:00
become_user : "{{ drone_user }}"
2021-02-19 11:29:10 +00:00
register: gitclone
2020-10-25 00:31:36 +00:00
- 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
2021-02-19 11:10:40 +00:00
become_user : "{{ drone_user }}"
2020-10-25 00:31:36 +00:00
notify: "Restart drone"
args:
2021-02-19 11:10:40 +00:00
chdir: "{{ drone_home }}/drone/cmd/drone-server"
2021-02-19 11:29:10 +00:00
when: gitclone.changed
2020-10-25 00:31:36 +00:00
2021-08-26 12:39:19 +00:00
- name: "clone runner"
2021-02-19 11:29:10 +00:00
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
2020-10-25 13:20:17 +00:00
2020-10-25 14:50:05 +00:00
- name: "make local runner config dir"
file:
path: "/etc/drone-runner-exec/"
state: directory
2021-02-19 11:29:10 +00:00
owner: drone
group: drone
mode: '0700'
2020-10-25 14:50:05 +00:00
- name: "make local runner config dir"
file:
path: "/var/log/drone-runner-exec/"
state: directory
2021-02-19 11:29:10 +00:00
owner: drone
group: drone
mode: '0700'
2020-10-25 14:50:05 +00:00
2020-10-25 13:20:17 +00:00
- name: "configure local runner"
template:
src: exec_runner_config.j2
2020-10-25 14:50:05 +00:00
dest: "/etc/drone-runner-exec/config"
2021-02-19 11:29:10 +00:00
owner: drone
group: drone
mode: '0700'
2020-10-25 00:31:36 +00:00
2020-10-25 14:50:05 +00:00
- name: "install local runner"
2021-02-19 11:29:10 +00:00
command: 'cp drone-runner-exec/drone-runner-exec /usr/loca/bin/drone-runner-exec && drone-runner-exec service install'
when: gitclonerunner.changed
2020-10-25 14:50:05 +00:00
2020-10-25 15:25:33 +00:00
- name: "stop local runner"
command: 'drone-runner-exec service stop'
2021-02-19 11:29:10 +00:00
when: gitclonerunner.changed
2020-10-25 15:25:33 +00:00
- name: "start local runner"
command: 'drone-runner-exec service start'
2021-02-19 11:29:10 +00:00
when: gitclonerunner.changed
2020-10-25 00:31:36 +00:00
- name: "Configure drone"
template:
src: "rundrone.sh.j2"
2021-02-19 11:10:40 +00:00
dest: "{{ drone_home }}/rundrone.sh"
2020-10-25 00:31:36 +00:00
owner: "{{ drone_user }}"
mode: 0700
notify: "Restart drone"
- name: "Service drone"
service:
name: "drone"
state: "started"
enabled: true
when: ansible_service_mgr == "systemd"