Self-service Continuous Delivery platform https://github.com/drone/drone
Go to file
3wc fe53a73a78
continuous-integration/drone/push Build is passing Details
chore: publish 1.6.0+2.22.0 release
2024-02-08 14:29:19 -03:00
.drone.yml Switch to self-hosted stack-ssh-deploy image [mass update] 2023-01-21 11:49:55 -08:00
.env.sample Make admin users configurable 2021-04-07 14:05:30 +02:00
LICENSE Bootstrap this as templated repository 2020-06-18 16:13:29 +02:00
README.md formatting 2024-01-17 15:58:12 -08:00
abra.sh Remove old version handling 2021-04-02 21:19:17 +02:00
compose.gitea.yml Working deployment w/ optional Git(hub|ea) 2020-10-01 18:34:49 +02:00
compose.github.yml Working deployment w/ optional Git(hub|ea) 2020-10-01 18:34:49 +02:00
compose.yml chore: publish 1.6.0+2.22.0 release 2024-02-08 14:29:19 -03:00
drone.env.tmpl Working deployment w/ optional Git(hub|ea) 2020-10-01 18:34:49 +02:00

README.md

Drone

Build Status

  • Category: Apps
  • Status: 1, alpha
  • Image: drone/drone, 4, upstream
  • Healthcheck: Yes
  • Backups: ?
  • Email: ?
  • Tests: 2
  • SSO: 3 (OAuth)

Basic usage

  1. Set up Docker Swarm and abra
  2. Deploy coop-cloud/traefik
  3. abra app new drone --secrets (optionally with --pass if you'd like to save secrets in pass)
  4. abra app config YOURAPPDOMAIN - be sure to change DOMAIN to something that resolves to your Docker swarm box
  5. abra app deploy YOURAPPDOMAIN
  6. Open the configured domain in your browser to finish set-up

Setup with Gitea

follow this guide: https://docs.drone.io/server/provider/gitea/

then you'll also need to setup drone-docker-runner (abra app new drone-docker-runner). More info at https://docs.drone.io/runner/docker/installation/linux/.

Setting up a server for auto-deployment

For Drone to be able to deploy to a server, you need:

  • A drone user on the server, added to the docker group
  • An SSH key, added as a secret in Drone, and added to /home/drone/.ssh/authorized_keys on the server
  1. Add a drone user on example.zone, the server which youre hosting the site on.

    a. sudo adduser drone

    b. create an SSH key for the user using ssh-keygen , e.g. sudo -u drone ssh-keygen

    c. copy the contents of the public side of the new key to /home/drone/.ssh/authorized_keys

    d. run chmod go-rwx /home/drone/.ssh

    e. add drone to AllowUsers in /etc/ssh/sshd_confand restart SSH, sudo service sshd restart

  2. Give the drone user access to the docker group; sudo usermod -aG docker drone

  3. Generate a new SSH key and insert it as a Drone “orgsecret”

    a. Log into Drone as admin, then either:

    b. Add the “orgsecret” using the Drone CLI:

     i. Go to the “account” page https://drone.autonomic.zone/account
    
     ii. Copy/paste the “Example CLI usage” into a terminal (you might want to add to `~/.bashrc` to make this easier  next time)
    
     iii. Run `drone orgsecret add [org you're adding the org secret to] [domain name] @drone_ssh_[example.zone]`
    

    c. Add the “orgsecret” using the Drone web interface:

     i. Find the repository page, or the page for another repository in the same organisation, in Drone
    
     ii. On the “Settings” tab, under “Organization” on the left, click “Secrets”, then create a new secret and paste in the private key value