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!