ansible_drone/README.md
2019-06-16 21:27:47 +08:00

2.1 KiB

Ansible Role: drone

This role will install drone agents + server using docker

Requirements

This role requires: docker installed on the server

Role Variables

Change the drone_host_port for expose port if conflict and update the drone_version from github release page.

drone_version: "latest"
drone_host_port: "8080"

Install the drone server or agent via the following config. Default is false.

drone_server_enable: "false"
drone_agent_enable: "false"

Default database is sqlite and drone can be installed with mysql or postgres database. See the followings.

drone_database_driver: "postgres"
drone_postgres_data_dir: "/var/lib/postgresql/data"
drone_postgres_password: "drone"
drone_postgres_user: "drone"
drone_postgres_db: "drone

mysql database (5.7 version)

drone_database_driver: "mysql"
drone_mysql_data_dir: "/var/lib/mysql/data"
drone_mysql_password: "drone"
drone_mysql_user: "drone"
drone_mysql_db: "drone"

additional parameters

The ansible role offers additional parameters - please check defaults/main.yml file.

Example Playbook

import the drone role from

$ ansible-galaxy install appleboy.drone

Add the following in playbook.

- hosts: drone
  vars_files:
    - vars/main.yml
  roles:
    - { role: appleboy.drone }

Inside vars/main.yml for drone-server

drone_server_enable: "true"
drone_version: "latest"
drone_github_client_id: "e2bdde88b88f7ccf873a"
drone_github_client_secret: "b0412c975bbf2b6fcd9b3cf5f19c8165b1c14d0c"
drone_server_host: "368a7a66.ngrok.io"
drone_server_proto: "https"
drone_rpc_secret: "30075d074bfd9e74cfd0b84a5886b986"
drone_database_driver: "mysql"
drone_database_datasource: "drone:drone@tcp(mysql:3306)/drone?parseTime=true"

for drone-agent:

drone_agent_enable: "true"
drone_version: "latest"
drone_rpc_server: "http://192.168.64.2:8081"
drone_rpc_secret: "30075d074bfd9e74cfd0b84a5886b986"