Drone is a continuous integration and delivery platform that was designed to automate software testing and deployment. In this tutorial, we will go through the process of installing Drone on Manjaro.
Before proceeding with the installation of Drone, you should ensure that the following requirements are met:
mkdir drone
cd drone
docker-compose.yml in this directory.nano docker-compose.yml
docker-compose.yml file.version: '3'
services:
drone-server:
image: drone/drone:1
ports:
- 80:80
- 443:443
volumes:
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_GITEA_SERVER=https://git.example.com
- DRONE_GITEA_CLIENT_ID=xxx
- DRONE_GITEA_CLIENT_SECRET=yyy
- DRONE_RPC_SECRET=zzz
- DRONE_SERVER_HOST=drone.example.com
- DRONE_SERVER_PROTO=https
restart: always
drone-agent:
image: drone/drone-runner-docker:1
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_HOST=drone-server
- DRONE_RPC_PROTO=http
- DRONE_RPC_SECRET=zzz
- DRONE_RUNNER_CAPACITY=2
restart: always
Note:
drone-server service, you should change DRONE_GITEA_SERVER, DRONE_GITEA_CLIENT_ID, DRONE_GITEA_CLIENT_SECRET, DRONE_RPC_SECRET, and DRONE_SERVER_HOST to match your own settings.DRONE_GITEA_* variable names with DRONE_GITHUB_* or DRONE_BITBUCKET_*, respectively.DRONE_SERVER_PROTO to http if you don't have SSL installed on your server.docker-compose command to bring up the Drone instance.docker-compose up -d
This will start the Drone server and agent containers running in the background.
That's it! You've successfully installed Drone on Manjaro and enabled a repository. You can now configure your build pipelines by editing the .drone.yml file in your repository.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!