forked from jens/ansible-role-drone
107 lines
2.4 KiB
YAML
107 lines
2.4 KiB
YAML
---
|
|
# 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"
|